Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,982 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 709 раз в 670 постах
|
Pavr написал: Можно поподробнее по этому поводу? Что мне это даст? Сервис с этим сертификатом дали мне как данность, мне нужно сделать клиента сервиса на JAVA.
Вам ведь нужно сделать защищенное соединение. Следовательно, если у вас двухсторонняя аутентификация, то вам потребуется клиентский ключ и сертификат для взаимодействия с сервером. Для сервера и клиента можно выпустить тестовые ключи и сертификаты в тестовом УЦ. Отредактировано пользователем 19 июня 2012 г. 17:08:40(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 16.06.2012(UTC) Сообщений: 14 Откуда: Moscow
|
afev написал:Pavr написал: Можно поподробнее по этому поводу? Что мне это даст? Сервис с этим сертификатом дали мне как данность, мне нужно сделать клиента сервиса на JAVA.
Вам ведь нужно сделать защищенное соединение. Следовательно, если у вас двухсторонняя аутентификация, то вам потребуется клиентский ключ и сертификат для взаимодействия с сервером. Для сервера и клиента можно выпустить тестовые ключи и сертификаты в тестовом УЦ. У меня нет клиентского сертификата. Только серверный.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 16.06.2012(UTC) Сообщений: 14 Откуда: Moscow
|
afev написал:Pavr написал: Можно поподробнее по этому поводу? Что мне это даст? Сервис с этим сертификатом дали мне как данность, мне нужно сделать клиента сервиса на JAVA.
Вам ведь нужно сделать защищенное соединение. Следовательно, если у вас двухсторонняя аутентификация, то вам потребуется клиентский ключ и сертификат для взаимодействия с сервером. Для сервера и клиента можно выпустить тестовые ключи и сертификаты в тестовом УЦ. У меня нет клиентского сертификата. Только серверный.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,982 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 709 раз в 670 постах
|
Я так понял, что вы создаете веб-клиента к веб-сервису на некотором веб-сервере (IIS, tomcat), защищенном данным сертификатом. Тогда в samples_src.jar/JTLS_samples вы можете найти пример, как создать клиента к серверу, защищенному ГОСТ сертификатом, с одностор. аутентификацией. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 16.06.2012(UTC) Сообщений: 14 Откуда: Moscow
|
afev написал:Я так понял, что вы создаете веб-клиента к веб-сервису на некотором веб-сервере (IIS, tomcat), защищенном данным сертификатом. Тогда в samples_src.jar/JTLS_samples вы можете найти пример, как создать клиента к серверу, защищенному ГОСТ сертификатом, с одностор. аутентификацией. Да, все так и есть. Спасибо за пример. посмотрю. Изначально то вопрос был - как добавить сертификат в доверенные сертификаты JAVA. Буду дальше разбираться.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 16.06.2012(UTC) Сообщений: 14 Откуда: Moscow
|
Вопрос в продолжение темы. Попробовал работать с хранилищем lдоверенных сертификатов java через ControlPane. Стандартно в java хранилище находится в C:\Program Files\Java\jre6\lib\security\cacerts Хранилище никак не открывается. Ошибка Invalid keystore format. В чем может быть причина?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,982 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 709 раз в 670 постах
|
Тип хранилища cacerts - JKS, он не поддерживается. Если хотите создать свое хранилище и добавить в него доверенный сертификат (в панели), то на вкладке Keys and Certificate stores при выделенном Certificate Stores нажмите Find/Create, перейдите в папку, где будет лежать ваше хранилище с доверенным сертификатом, впишите имя хранилища и нажмите Открыть. Созданное хранилище будет доступно в списке Certificate Stores (к нему можно указать пароль). В него вы можете после поместить сертификат. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 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();
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,982 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 709 раз в 670 постах
|
А просто пример обращения к любому защищенному ГОСТом адресу не пробовали? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 16.06.2012(UTC) Сообщений: 14 Откуда: Moscow
|
afev написал:А просто пример обращения к любому защищенному ГОСТом адресу не пробовали? Смотрел все примеры, но не вижу смысла пробовать что-то другое отличное от моей конкретной задачи. Нужно вызвать через http(s) веб-сервис защищенный ГОСТом, аутентификация односторонняя серверная. Из примеров вижу, что мне подходит использование URLConnection, но как туда прикрутить криптопро-шные функции, что бы поднялось защищенное соединение не понятно. JCP и JTLS установлен, сертификат сервера сохранил в хранилище доверенных (хотя может это и не нужно делать). P.S. На .NET сделал вообще без проблем. Устанавливаешь КРИПТОПРО CSP, добавляешь сертификат в доверенные в windows и все работает без каких либо дополнительных манипуляций.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close