Форум программистов, компьютерный форум, киберфорум
Наши страницы

Java SE (J2SE)

Войти
Регистрация
Восстановить пароль
 
2Pedro
1 / 1 / 0
Регистрация: 28.11.2012
Сообщений: 7
#1

Чтение *.cer файла - Java SE

20.08.2013, 18:00. Просмотров 1110. Ответов 6
Метки нет (Все метки)

Есть файл с расширением .cer Он открывается по умолчанию в виндовсе и там можно прочитать:
Кому выдан:
Кем выдан:
Действителен с .. по ..

Смотреть картинки =)
Интересует как в программно прочитать єти поля в Джаве? Кто-то знает или пробовал?
Я полній новичок в этом деле... =(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.08.2013, 18:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Чтение *.cer файла (Java SE):

Как заменить чтение строки из консоли на чтение текстового файла? - Java SE
основное задание: найти частоту суффикса (например, "ing") в текстовом документе. в прикреплённом коде текст вводится прямо в консоль,...

Чтение из файла - Java SE
Помогите разобраться с задачей, Java-у учу несколько дней только. В файле будет написано <фамилия> Иванов </фамилия> . Нужно считать текст...

Чтение из файла - Java SE
Есть файл с углами от 0 до 360 и их значения. Как занечти эти значения в массив? Пока имею такой код, дальше не знаю как реализовать: ...

Чтение из файла - Java SE
в файле записаны строчки : key1 : value1 key2 : value2 ... как считать данные из файла и записать в контейнер (разделив на...

Чтение из файла - Java SE
Доброго времени суток! Такая проблема: не могу прочитать данные из файла - пишет nullPoinExeption, вообщем не может найти такой файл. Сижу...

Чтение из файла - Java SE
Доброго времени суток! Задача: есть класс Parser содержащий метод readCommand(), в котором происходит чтение строки из файла. Файл содержит...

6
2Pedro
1 / 1 / 0
Регистрация: 28.11.2012
Сообщений: 7
20.08.2013, 18:16  [ТС] #2
Забыл скрины добавить!
Вот № 1
Чтение *.cer файла
А вот № 2
Чтение *.cer файла
0
Gibby
152 / 152 / 5
Регистрация: 16.10.2012
Сообщений: 354
Записей в блоге: 1
20.08.2013, 18:21 #3
http://docs.oracle.com/javase/6/docs...rtificate.html
1
2Pedro
1 / 1 / 0
Регистрация: 28.11.2012
Сообщений: 7
28.08.2013, 15:48  [ТС] #4
С получением дат действия сертификата проблем не возникло, а вот с получением имени возникли небольшие трудности...
Нужные мне данные достает getSubjectDN()
Вот такой код:
Java
1
2
3
FileInputStream fis = new FileInputStream(input);
X509Certificate cert = (X509Certificate)cf.generateCertificate(fis);
System.out.println("getSubjectDN : " + cert.getSubjectDN());
результат:

getSubjectDN : T=Предпринематель, GIVENNAME=Иван Иванович, SURNAME=Иванов, CN=Иванов И.И., OU=Руководство, O=ФОП Иванов Иван Иванович, L=м. Ивановка, ST=Ивановская, C=UA, SERIALNUMBER=222222

Как правильно из этой строки вытянуть ФИО к примеру (CN=Иванов И.И.)
0
Skipy
1996 / 1419 / 57
Регистрация: 25.11.2010
Сообщений: 3,611
28.08.2013, 16:52 #5
Цитата Сообщение от 2Pedro Посмотреть сообщение
Как правильно из этой строки вытянуть ФИО к примеру (CN=Иванов И.И.)
Разбить на пары ключ-значение по запятым, потом каждую пару разбить по "=" на ключ и значение, взять значение по ключу.
0
easybudda
Модератор
Эксперт CЭксперт С++
9970 / 5893 / 997
Регистрация: 25.07.2009
Сообщений: 11,165
28.08.2013, 17:25 #6
Java
1
2
3
4
5
6
7
8
9
10
11
12
import java.util.*;
 
public class NameFromLine {
    public static void main(String [] args) {
        String line = "T=Предпринематель, GIVENNAME=Иван Иванович, SURNAME=Иванов, CN=Иванов И.И., OU=Руководство, O=ФОП Иванов Иван Иванович, L=м. Ивановка, ST=Ивановская, C=UA, SERIALNUMBER=222222";
        String prefix = "CN=";
        
        for ( String s : line.split(", ") )
            if ( s.startsWith(prefix) )
                System.out.println(s.substring(prefix.length()));
    }
}
1
2Pedro
1 / 1 / 0
Регистрация: 28.11.2012
Сообщений: 7
29.08.2013, 15:32  [ТС] #7
Нашел более "правильное" решение своей проблемы, это строка наз-ся LDAP Name
В джаве есть спец. библиотека для работы с такими вещами

Вот кусок кода который решает мою проблему, как вариант:
Java
1
2
3
4
5
6
7
8
9
10
11
 LdapName ln = new LdapName(cert.getSubjectDN().getName());
 
// Тут получаем значение поля CN
        for(Rdn rdn : ln.getRdns()) {
            if(rdn.getType().equalsIgnoreCase("CN")) {
                System.out.println("CN is: " + rdn.getValue());
            }
        }
// Тут получаем все значения        
        for (int i=0; i < ln.size(); i++ )
        System.out.println(i + ": "+ln.getRdn(i).getValue());
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2013, 15:32
Привет! Вот еще темы с ответами:

Чтение из файла - Java SE
У файле есть участок текста *MESH_VERTEX_LIST { *MESH_VERTEX 0 48.1275 60.4061 0.0000 *MESH_VERTEX ...

Чтение из файла - Java SE
Добрый день. Создал программу типа телефонной книжки. Т.е. мы вводим данные телефон, имя, email. И выводим их на экран, до чтения из...

Чтение из файла - Java SE
Всем привет! Недавно начал изучать Java и столкнулся с такой ситуацией. Ребята, пытаюсь считывать из файла данные (числа), но...

Чтение из файла - Java SE
Есть текстовый файл, в нем написано: Vasya 30 Fedya 20 как эти данные из файла можно перенести в класс: класс p{ String имя; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru