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

Уведомление

Icon
Error

3 Страницы<123>
Опции
К последнему сообщению К первому непрочитанному
Offline Евгений Афанасьев  
#11 Оставлено : 19 июня 2012 г. 17:06:14(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Pavr написал:

Можно поподробнее по этому поводу? Что мне это даст?
Сервис с этим сертификатом дали мне как данность, мне нужно сделать клиента сервиса на JAVA.

Вам ведь нужно сделать защищенное соединение. Следовательно, если у вас двухсторонняя аутентификация, то вам потребуется клиентский ключ и сертификат для взаимодействия с сервером. Для сервера и клиента можно выпустить тестовые ключи и сертификаты в тестовом УЦ.

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

Offline Pavr  
#12 Оставлено : 19 июня 2012 г. 18:28:02(UTC)
Pavr

Статус: Участник

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

afev написал:
Pavr написал:

Можно поподробнее по этому поводу? Что мне это даст?
Сервис с этим сертификатом дали мне как данность, мне нужно сделать клиента сервиса на JAVA.

Вам ведь нужно сделать защищенное соединение. Следовательно, если у вас двухсторонняя аутентификация, то вам потребуется клиентский ключ и сертификат для взаимодействия с сервером. Для сервера и клиента можно выпустить тестовые ключи и сертификаты в тестовом УЦ.


У меня нет клиентского сертификата. Только серверный.
Offline Pavr  
#13 Оставлено : 19 июня 2012 г. 18:46:26(UTC)
Pavr

Статус: Участник

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

afev написал:
Pavr написал:

Можно поподробнее по этому поводу? Что мне это даст?
Сервис с этим сертификатом дали мне как данность, мне нужно сделать клиента сервиса на JAVA.

Вам ведь нужно сделать защищенное соединение. Следовательно, если у вас двухсторонняя аутентификация, то вам потребуется клиентский ключ и сертификат для взаимодействия с сервером. Для сервера и клиента можно выпустить тестовые ключи и сертификаты в тестовом УЦ.


У меня нет клиентского сертификата. Только серверный.
Offline Евгений Афанасьев  
#14 Оставлено : 19 июня 2012 г. 18:46:44(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Я так понял, что вы создаете веб-клиента к веб-сервису на некотором веб-сервере (IIS, tomcat), защищенном данным сертификатом.
Тогда в samples_src.jar/JTLS_samples вы можете найти пример, как создать клиента к серверу, защищенному ГОСТ сертификатом, с одностор. аутентификацией.
Offline Pavr  
#15 Оставлено : 19 июня 2012 г. 19:51:13(UTC)
Pavr

Статус: Участник

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

afev написал:
Я так понял, что вы создаете веб-клиента к веб-сервису на некотором веб-сервере (IIS, tomcat), защищенном данным сертификатом.
Тогда в samples_src.jar/JTLS_samples вы можете найти пример, как создать клиента к серверу, защищенному ГОСТ сертификатом, с одностор. аутентификацией.


Да, все так и есть. Спасибо за пример. посмотрю. Изначально то вопрос был - как добавить сертификат в доверенные сертификаты JAVA.
Буду дальше разбираться.
Offline Pavr  
#16 Оставлено : 20 июня 2012 г. 16:14:31(UTC)
Pavr

Статус: Участник

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

Вопрос в продолжение темы. Попробовал работать с хранилищем lдоверенных сертификатов java через ControlPane.
Стандартно в java хранилище находится в C:\Program Files\Java\jre6\lib\security\cacerts
Хранилище никак не открывается.
Ошибка Invalid keystore format.
В чем может быть причина?
Offline Евгений Афанасьев  
#17 Оставлено : 20 июня 2012 г. 16:37:44(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Тип хранилища cacerts - JKS, он не поддерживается. Если хотите создать свое хранилище и добавить в него доверенный сертификат (в панели), то на вкладке Keys and Certificate stores при выделенном Certificate Stores нажмите Find/Create, перейдите в папку, где будет лежать ваше хранилище с доверенным сертификатом, впишите имя хранилища и нажмите Открыть. Созданное хранилище будет доступно в списке Certificate Stores (к нему можно указать пароль). В него вы можете после поместить сертификат.
Offline Pavr  
#18 Оставлено : 26 июня 2012 г. 19:19:03(UTC)
Pavr

Статус: Участник

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

Попробовал использовать примеры. Не получается у меня создать клиента к веб-сервису, защищенным ГОСТ сертификатом.
Смотрю пример samples_src.jar\JTLS_samples\URLClient.java. Там используется URLConnection. Но в примере нет никакого обращения к сертификатам или другим крипто функциям.

Я делаю так, создаю URLConnection и через него закидываю SOAP запрос.
Пытаюсь обратиться к своему сертификату (похоже, что не правильно делаю), который предварительно сохранил в хранилище. Но в итоге ошибка

java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)

Подскажите, плиз, что не так делаю?

Код такой.
System.setProperty("javax.net.ssl.trustStoreType", "HDImageStore");
System.setProperty("javax.net.ssl.trustStore", "C:\\temp\\bank.store");
System.setProperty("javax.net.ssl.trustStorePassword", "123456");

URL u = new URL(server);
URLConnection uc = u.openConnection();
HttpURLConnection connection = (HttpURLConnection) uc;


connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestProperty("SOAPAction", SOAP_ACTION);


connection.setRequestProperty("Accept", "text/xml");
connection.setRequestProperty("Charset", "utf-8");

OutputStream out = connection.getOutputStream();
Writer wout = new OutputStreamWriter(out);
wout.write(soapRequest);
wout.flush();
wout.close();

InputStream in = connection.getInputStream();
Offline Евгений Афанасьев  
#19 Оставлено : 26 июня 2012 г. 21:04:28(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
А просто пример обращения к любому защищенному ГОСТом адресу не пробовали?
Offline Pavr  
#20 Оставлено : 27 июня 2012 г. 12:49:26(UTC)
Pavr

Статус: Участник

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

afev написал:
А просто пример обращения к любому защищенному ГОСТом адресу не пробовали?


Смотрел все примеры, но не вижу смысла пробовать что-то другое отличное от моей конкретной задачи.
Нужно вызвать через http(s) веб-сервис защищенный ГОСТом, аутентификация односторонняя серверная. Из примеров вижу, что мне подходит использование URLConnection, но как туда прикрутить криптопро-шные функции, что бы поднялось защищенное соединение не понятно.
JCP и JTLS установлен, сертификат сервера сохранил в хранилище доверенных (хотя может это и не нужно делать).

P.S. На .NET сделал вообще без проблем. Устанавливаешь КРИПТОПРО CSP, добавляешь сертификат в доверенные в windows и все работает без каких либо дополнительных манипуляций.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
3 Страницы<123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.