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

Уведомление

Icon
Error

8 Страницы«<34567>»
Опции
К последнему сообщению К первому непрочитанному
Offline est412  
#41 Оставлено : 2 сентября 2015 г. 15:29:05(UTC)
est412

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

Группы: Участники
Зарегистрирован: 14.10.2014(UTC)
Сообщений: 38
Российская Федерация
Откуда: Казань

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 1 раз в 1 постах
Уважаемого afev прошу пояснить следующее:

Автор: afev Перейти к цитате
...Скорее всего, это не корневые, а сами сертификаты сервера. Для построения цепочки нужны корневые, потому empty для trust anchor...

Разьве не достаточно в trust store держать только сертификат сервера? Ведь таким образом мы ему автоматически доверяем и доверие к сертификату его УЦ не требуется?
Offline ArthurKh  
#42 Оставлено : 2 сентября 2015 г. 15:31:42(UTC)
ArthurKh

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

Группы: Участники
Зарегистрирован: 02.09.2015(UTC)
Сообщений: 33

Сказал(а) «Спасибо»: 4 раз
Автор: est412 Перейти к цитате
Уважаемого afev прошу пояснить следующее:

Автор: afev Перейти к цитате
...Скорее всего, это не корневые, а сами сертификаты сервера. Для построения цепочки нужны корневые, потому empty для trust anchor...

Разьве не достаточно в trust store держать только сертификат сервера? Ведь таким образом мы ему автоматически доверяем и доверие к сертификату его УЦ не требуется?


Полагаю, что тут вопрос больше к моей некомпетентности в данном вопросе - Я сам что попало напихал в trustedCertStore.
В итоге создал новый trustedCertStore, положил в него cacer3.crt и всё заработало.
Offline est412  
#43 Оставлено : 2 сентября 2015 г. 15:37:17(UTC)
est412

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

Группы: Участники
Зарегистрирован: 14.10.2014(UTC)
Сообщений: 38
Российская Федерация
Откуда: Казань

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 1 раз в 1 постах
Да, но это именно корневой сертификат, и в полном соответствии со словами afev всё работает.
Но если в trustedCertStore вместо cacer3.crt положить сертификат сервера, т.е. вот этот:

Subject: CN=icrs.demo.nbki.ru, O=OJSC NBCH 2014, L=Moscow, ST=Moscow, C=RU, EMAILADDRESS=support@nbki.ru

Не будет работать?
Offline ArthurKh  
#44 Оставлено : 2 сентября 2015 г. 15:40:44(UTC)
ArthurKh

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

Группы: Участники
Зарегистрирован: 02.09.2015(UTC)
Сообщений: 33

Сказал(а) «Спасибо»: 4 раз
Автор: est412 Перейти к цитате
Да, но это именно корневой сертификат, и в полном соответствии со словами afev всё работает.
Но если в trustedCertStore вместо cacer3.crt положить сертификат сервера, т.е. вот этот:

Subject: CN=icrs.demo.nbki.ru, O=OJSC NBCH 2014, L=Moscow, ST=Moscow, C=RU, EMAILADDRESS=support@nbki.ru

Не будет работать?


А его откуда скачать/взять?
Offline est412  
#45 Оставлено : 2 сентября 2015 г. 15:47:14(UTC)
est412

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

Группы: Участники
Зарегистрирован: 14.10.2014(UTC)
Сообщений: 38
Российская Федерация
Откуда: Казань

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 1 раз в 1 постах
Если он недоступен, тогда конечно, без вариантов...
Offline ArthurKh  
#46 Оставлено : 2 сентября 2015 г. 16:00:23(UTC)
ArthurKh

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

Группы: Участники
Зарегистрирован: 02.09.2015(UTC)
Сообщений: 33

Сказал(а) «Спасибо»: 4 раз
Всё это хорошо.
Простейший запрос сделан.
Теперь в другом вопрос - как мне заставить NetBeans получить данные от Web-service?
В конфиге, в netbeans_default_options добавил

-J-Djavax.net.ssl.trustStore=c:/temp/JavaApplication2/trustedCertStore -J-Djavax.net.ssl.trustStorePasswor=qwerty

Но он всё равно не видит данные от сервера

Код:

02.09.2015 15:59:49 : Получение местоположения: file:/C:/temp/afs_wsdl.xml 

\еПолучено:    file:/C:/temp/afs_wsdl.xml 
	Сохранение в: C:\Users\wwwdev\AppData\Roaming\NetBeans\8.0.2\config\WebServices\afs_wsdl-xml\catalog\afs_wsdl.xml.wsdl
Получение местоположения: https://icrs.nbki.ru/nbch-afs/ws/service?xsd 
	Найдено в документе: file:/C:/temp/afs_wsdl.xml

Ошибка: Возникла ошибка ввода/вывода. Server selected improper ciphersuite TLS_DH_RSA_WITH_AES_128_CBC_SHA


Полагаю, что NetBeans использует
sun.security.ssl.SSLSocketFactoryImpl;

Интересно, как его заставить использовать
ru.CryptoPro.ssl.SSLSocketFactoryImpl; ?

Отредактировано пользователем 2 сентября 2015 г. 16:04:31(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#47 Оставлено : 2 сентября 2015 г. 16:12:42(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 715 раз в 675 постах
Автор: est412 Перейти к цитате
Разьве не достаточно в trust store держать только сертификат сервера? Ведь таким образом мы ему автоматически доверяем и доверие к сертификату его УЦ не требуется?

В TrustManager'е мы фильтруем сертификаты, чтобы в список trust anchor попадали корневые самоподписанные сертификаты, т.к. должна быть построена (и проверена) вся цепочка. Другие сертификаты попадут в список intermediate и также могут быть использованы при построении цепочки. Иначе только в ситуации, когда серверный сертификат - самоподписанный.

Автор: ArthurKh Перейти к цитате
Всё это хорошо.
Простейший запрос сделан.
Теперь в другом вопрос - как мне заставить NetBeans получить данные от Web-service?
В конфиге, в netbeans_default_options добавил

-J-Djavax.net.ssl.trustStore=c:/temp/JavaApplication2/trustedCertStore -J-Djavax.net.ssl.trustStorePasswor=qwerty

Но он всё равно не видит данные от сервера

Код:

02.09.2015 15:59:49 : Получение местоположения: file:/C:/temp/afs_wsdl.xml 

\еПолучено:    file:/C:/temp/afs_wsdl.xml 
	Сохранение в: C:\Users\wwwdev\AppData\Roaming\NetBeans\8.0.2\config\WebServices\afs_wsdl-xml\catalog\afs_wsdl.xml.wsdl
Получение местоположения: https://icrs.nbki.ru/nbch-afs/ws/service?xsd 
	Найдено в документе: file:/C:/temp/afs_wsdl.xml

Ошибка: Возникла ошибка ввода/вывода. Server selected improper ciphersuite TLS_DH_RSA_WITH_AES_128_CBC_SHA


Полагаю, что NetBeans использует
sun.security.ssl.SSLSocketFactoryImpl;

Интересно, как его заставить использовать
ru.CryptoPro.ssl.SSLSocketFactoryImpl; ?


Поищите, нельзя ли как-то передать объект javax.net.ssl.SSLContext или собственные KeyStore, или переопределить фабрику сокетов.

Отредактировано пользователем 2 сентября 2015 г. 16:13:43(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
est412 оставлено 02.09.2015(UTC)
Offline Евгений Афанасьев  
#48 Оставлено : 2 сентября 2015 г. 16:15:51(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 715 раз в 675 постах
Или каким-то образом передать

Код:

Security.setProperty("ssl.KeyManagerFactory.algorithm", ru.CryptoPro.ssl.Provider.KEYMANGER_ALG);
Security.setProperty("ssl.TrustManagerFactory.algorithm", ru.CryptoPro.ssl.Provider.KEYMANGER_ALG);

Security.setProperty("ssl.SocketFactory.provider", "ru.CryptoPro.ssl.SSLSocketFactoryImpl");
Security.setProperty("ssl.ServerSocketFactory.provider", "ru.CryptoPro.ssl.SSLServerSocketFactoryImpl");


Может, поможет. Вообще эти настройки ранее прописываются при установке в java.security.

Отредактировано пользователем 2 сентября 2015 г. 16:16:57(UTC)  | Причина: Не указана

Offline ArthurKh  
#49 Оставлено : 2 сентября 2015 г. 16:27:52(UTC)
ArthurKh

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

Группы: Участники
Зарегистрирован: 02.09.2015(UTC)
Сообщений: 33

Сказал(а) «Спасибо»: 4 раз
Автор: afev Перейти к цитате
Или каким-то образом передать

Код:

Security.setProperty("ssl.KeyManagerFactory.algorithm", ru.CryptoPro.ssl.Provider.KEYMANGER_ALG);
Security.setProperty("ssl.TrustManagerFactory.algorithm", ru.CryptoPro.ssl.Provider.KEYMANGER_ALG);

Security.setProperty("ssl.SocketFactory.provider", "ru.CryptoPro.ssl.SSLSocketFactoryImpl");
Security.setProperty("ssl.ServerSocketFactory.provider", "ru.CryptoPro.ssl.SSLServerSocketFactoryImpl");


Может, поможет. Вообще эти настройки ранее прописываются при установке в java.security.


Не помогло... Полагаю, что NetBeans использует в коде
import sun.security.ssl.SSLSocketFactoryImpl;


(((

Пичалько.

А нельзя ли каким-то образом ( :) ) "заставить" Java видеть ваши методы шифрования при использовании
import sun.security.ssl.SSLSocketFactoryImpl;
вместо вашего
import ru.CryptoPro.ssl.SSLSocketFactoryImpl;
?
Момент с import ru.CryptoPro.ssl.SSLSocketFactoryImpl; ломает всю малину...
Offline Евгений Афанасьев  
#50 Оставлено : 2 сентября 2015 г. 16:39:48(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 715 раз в 675 постах
Автор: afev Перейти к цитате
Поищите, нельзя ли как-то передать объект javax.net.ssl.SSLContext или собственные KeyStore, или переопределить фабрику сокетов.

Разве что через SSLContext.

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