Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline gagarin  
#1 Оставлено : 2 июля 2012 г. 15:51:15(UTC)
gagarin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 02.07.2012(UTC)
Сообщений: 58
Откуда: russia

Сказал(а) «Спасибо»: 1 раз
Добрый день, установил JCP, JTLS, все возможные тесты мне говорят что у меня все отлично.

При запуске TOMCAT в логах все хорошо, на коннектор не ругается.

Но пытаюсь выполнить пример "URLClient", а в ответ получаю ошибку "java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty".

Подскажите куда копать/читать желательно развернуто.
Заранее спасибо.
Online Евгений Афанасьев  
#2 Оставлено : 2 июля 2012 г. 16:02:29(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,927
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Здравствуйте.
Нужно задать

Код:

System.setProperty("javax.net.ssl.trustStoreType", "HDImageStore");
System.setProperty("javax.net.ssl.trustStore", ".../test_ca.store");
System.setProperty("javax.net.ssl.trustStorePassword", "123456");

test_ca.store - хранилище с корневым сертификатом, можно создать его в панели JCP, или взять из вашего коннектора, где прописан путь к такому хранилищу, как доверенному.
Offline gagarin  
#3 Оставлено : 2 июля 2012 г. 17:29:51(UTC)
gagarin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 02.07.2012(UTC)
Сообщений: 58
Откуда: russia

Сказал(а) «Спасибо»: 1 раз
Спасибо, пока работает!
Offline gagarin  
#4 Оставлено : 2 июля 2012 г. 19:06:57(UTC)
gagarin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 02.07.2012(UTC)
Сообщений: 58
Откуда: russia

Сказал(а) «Спасибо»: 1 раз
Теперь другая проблема, пытаюсь чуть чуть модифицировать пример URLClient, пытаюсь получить данные с гос. портала..
Сертификаты имеются, добавил, хранилище указал, пароль на хранилище совпадает с паролем на контейнер,

но на выходе имею: "Received fatal alert: HANDSHAKE_FAILURE".

В чем может быть проблема? Пользуюсь руководством -> "Работа с ключами обмена и сертификатами аутентификации"

P.S.
Для начала, мне нужно просто делать соединение по TLS с этим сервером, направьте/покажите пример соединения..

Спасибо..

Отредактировано пользователем 2 июля 2012 г. 19:22:38(UTC)  | Причина: Не указана

Online Евгений Афанасьев  
#5 Оставлено : 2 июля 2012 г. 19:25:16(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,927
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Портал использует алгоритм ГОСТ? Односторонняя или двухсторонняя аутентификация (с вашим клиентским сертификатом)?

Пробуйте такой пример (например, с https://cpca.cryptopro.ru) - вывод страницы на экран:
Цитата:

System.setProperty("javax.net.ssl.trustStoreType", "HDImageStore");
System.setProperty("javax.net.ssl.trustStore", ".../trusted.store");
System.setProperty("javax.net.ssl.trustStorePassword", "trusted_password");

URL url = new URL("https://cpca.cryptopro.ru/");
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.connect();

BufferedReader br = new BufferedReader( new InputStreamReader(con.getInputStream()) );
String input;

while ((input = br.readLine()) != null) {
System.out.println(input);
}

br.close();


Затем двухстор. аутентификация для, например, адреса https://cpca.cryptopro.ru/tls/tls-cli.asp - тот же пример, но с дополнительным указанием (при этом в хранилище должен лежать клиентский ключ и сертификат на алгоритме ГОСТ Р 34.10-2001 DH, и пароль на контейнер - client_password):
Цитата:

System.setProperty("javax.net.ssl.keyStoreType", "HDImageStore");
System.setProperty("javax.net.ssl.trustStorePassword", "client_password");

Отредактировано пользователем 2 июля 2012 г. 19:45:06(UTC)  | Причина: Не указана

Offline gagarin  
#6 Оставлено : 2 июля 2012 г. 19:42:23(UTC)
gagarin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 02.07.2012(UTC)
Сообщений: 58
Откуда: russia

Сказал(а) «Спасибо»: 1 раз
Вырезка из описания портала - "Требуется реализация двусторонней аутентификации на базе сертификатов, соответствующих ГОСТ..."

У меня уже готова реализация сохранения в файл..
В первом примере получил html страницу, во втором текст "Защищенное соединение установлено Сертификат пользователя не предоставлен".
В IE по адресу "https://cpca.cryptopro.ru/tls/tls-cli.asp" не нашлось ни одного подходящего сертификата..

P.S.
Я стал получать другой ответ: "Server selected disabled ciphersuite SSL3_CK_GVO"..
На той стороне лежит документ, который я должен получить(сохранить) локально..

Отредактировано пользователем 2 июля 2012 г. 19:45:10(UTC)  | Причина: Не указана

Online Евгений Афанасьев  
#7 Оставлено : 2 июля 2012 г. 19:47:11(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,927
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Видимо, вы не создали свой клиентский сертификат. Контейнер с вашими ключом и сертификатом с политикой аутентификации клиента должны лежать в хранилище JCP (можно сгенерировать в панели jcp и затем выпустить сертификат в тестовом УЦ). Тогда он будет использоваться при двухсторонней аутентификации. Вы также можете установить их с помощью CSP и затем проверить вход через IE.

Отредактировано пользователем 2 июля 2012 г. 19:56:30(UTC)  | Причина: Не указана

Offline gagarin  
#8 Оставлено : 2 июля 2012 г. 19:48:55(UTC)
gagarin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 02.07.2012(UTC)
Сообщений: 58
Откуда: russia

Сказал(а) «Спасибо»: 1 раз
Клиентские Сертификаты Портала я установил, с этими же сертификатами (в CSP) в IE я нормально захожу и получаю документ... или я что-то не понимаю?

P.S.
Мои действия:
Скопировал контейнер с ключами из флешки в JCP, задал пароль.
Поместил в хранилище сертификат, задал пароль = контейнер.

Все правильно?

Отредактировано пользователем 2 июля 2012 г. 20:09:33(UTC)  | Причина: Не указана

Online Евгений Афанасьев  
#9 Оставлено : 2 июля 2012 г. 20:08:28(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,927
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Попробуйте выставить настройку:
System.setProperty("javax.net.ssl.supportGVO", "true");
Offline gagarin  
#10 Оставлено : 2 июля 2012 г. 20:11:33(UTC)
gagarin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 02.07.2012(UTC)
Сообщений: 58
Откуда: russia

Сказал(а) «Спасибо»: 1 раз
afev написал:
Попробуйте выставить настройку:
System.setProperty("javax.net.ssl.supportGVO", "true");

Я это уже пробовал.. не помогает
А кроме клиентского сертификата что-то должно ещё быть?

Отредактировано пользователем 2 июля 2012 г. 20:13:59(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
3 Страницы123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.