Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.10.2014(UTC) Сообщений: 38 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Казань Сказал(а) «Спасибо»: 12 раз Поблагодарили: 1 раз в 1 постах
|
Коллеги, поделитесь тайным знанием, если кто сталкивался... Использую JCP 2.0 под java 1.8.0_45. Пытаюсь настроить SSL/TLS соединение с сервером через клиента на Apache CXF. На стороне сервера стоит КриптоПро CSP, но дело, видимо, не в нём. Танцы с бубном помогли настроить загрузку KeyStore и сертификатов из TrustStore. Процесс рукопожатия доходит до отправки сервером сертификата в сторону клиента, но после этого имеем на клиенте ошибку: Код:июл 13, 2015 1:42:56 PM ru.CryptoPro.ssl.an a
FINE: Camel (TestSSLGOSTWSClient-ctx) thread #0 - timer://cTimer_1, SEND TLSv1 ALERT: fatal, description = CERTIFICATE_UNKNOWN
... cut ...
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No X509TrustManager implementation available
at ru.CryptoPro.ssl.B.a(Unknown Source)
at ru.CryptoPro.ssl.an.a(Unknown Source)
at ru.CryptoPro.ssl.f.a(Unknown Source)
at ru.CryptoPro.ssl.f.a(Unknown Source)
at ru.CryptoPro.ssl.ao.a(Unknown Source)
at ru.CryptoPro.ssl.ao.a(Unknown Source)
at ru.CryptoPro.ssl.f.o(Unknown Source)
at ru.CryptoPro.ssl.f.a(Unknown Source)
at ru.CryptoPro.ssl.an.a(Unknown Source)
at ru.CryptoPro.ssl.an.i(Unknown Source)
at ru.CryptoPro.ssl.an.startHandshake(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1282)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1257)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)
at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.setupWrappedStream(URLConnectionHTTPConduit.java:184)
Танцы с бубном состояли в комбинированном использовании Spring: Код:<http:conduit name="...">
<http:tlsClientParameters disableCNCheck="true" secureSocketProtocol="GostTLS">
<sec:cipherSuitesFilter>
<sec:include>TLS_CIPHER_2001</sec:include>
<sec:include>TLS_CIPHER_94</sec:include>
<sec:include>SSL3_CK_GVO_KB2</sec:include>
<sec:include>SSL3_CK_GVO</sec:include>
</sec:cipherSuitesFilter>
</http:tlsClientParameters>
<http:client AutoRedirect="true" Connection="Keep-Alive"/>
</http:conduit>
и системных переменных: Код:System.setProperty("javax.net.ssl.trustStorePassword","password");
System.setProperty("javax.net.ssl.trustStoreType","HDImageStore");
System.setProperty("javax.net.ssl.trustStore","C:/_Keystores_/trusted.store");
System.setProperty("javax.net.ssl.trustStoreProvider","JCP");
Security.setProperty("ssl.TrustManagerFactory.algorithm","GostX509");
System.setProperty("javax.net.ssl.keyStorePassword","password");
System.setProperty("javax.net.ssl.keyStoreType","HDImageStore");
System.setProperty("javax.net.ssl.keyStoreProvider","JCP");
Security.setProperty("ssl.KeyManagerFactory.algorithm","GostX509");
хотел бы перевести всю настройку на системные переменные, но не нашел каким переменным соответствуют атрибуты: Код:disableCNCheck="true"
secureSocketProtocol="GostTLS"
Ай нид хелп... =)
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,003 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 714 раз в 674 постах
|
Здравствуйте. Попробуйте еще Код:
Security.setProperty("ssl.SocketFactory.provider", "ru.CryptoPro.ssl.SSLSocketFactoryImpl");
Security.setProperty("ssl.ServerSocketFactory.provider", "ru.CryptoPro.ssl.SSLServerSocketFactoryImpl");
добавить. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.10.2014(UTC) Сообщений: 38 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Казань Сказал(а) «Спасибо»: 12 раз Поблагодарили: 1 раз в 1 постах
|
Добавил, ошибка осталась той же. Прошу прощения, забыл указать в первом посте следующее... После успешной (?) инициализации SSL контекста выбрасывается следующее исключение: Код:июл 13, 2015 2:29:40 PM ru.CryptoPro.ssl.SSLContextImpl d
INFO: Context initiated.
[WARN ]: org.apache.cxf.transport.https.HttpsURLConnectionFactory - Default key managers cannot be initialized: Default store provider (keyStore) is SUN but default config provider (cpSSL) is JCP. Check settings on the tab 'Algorithms' of JCP Pane.
java.security.KeyStoreException: Default store provider (keyStore) is SUN but default config provider (cpSSL) is JCP. Check settings on the tab 'Algorithms' of JCP Pane.
at ru.CryptoPro.ssl.r.<init>(Unknown Source)
at ru.CryptoPro.ssl.KeyManagerFactoryImpl.engineInit(Unknown Source)
at javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:256)
at org.apache.cxf.configuration.jsse.SSLUtils.loadDefaultKeyManagers(SSLUtils.java:176)
at org.apache.cxf.configuration.jsse.SSLUtils.getDefaultKeyStoreManagers(SSLUtils.java:150)
at org.apache.cxf.transport.https.HttpsURLConnectionFactory.decorateWithTLS(HttpsURLConnectionFactory.java:165)
at org.apache.cxf.transport.https.HttpsURLConnectionFactory.createConnection(HttpsURLConnectionFactory.java:106)
at org.apache.cxf.transport.http.URLConnectionHTTPConduit.createConnection(URLConnectionHTTPConduit.java:102)
at org.apache.cxf.transport.http.URLConnectionHTTPConduit.setupConnection(URLConnectionHTTPConduit.java:106)
at org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:497)
но далее процесс не падает, а переходит к рукопожатию...
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,003 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 714 раз в 674 постах
|
В панели JCP на закладке "Алгоритмы" провайдер по умолчанию - JCP? Java CSP не установлен? Судя по всему, KeyStore передается от SUN, с его провайдером, потому такая ошибка. Вероятно, поэтому менеджер ключей пропадает. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.10.2014(UTC) Сообщений: 38 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Казань Сказал(а) «Спасибо»: 12 раз Поблагодарили: 1 раз в 1 постах
|
Проверил. Дефолт провайдер - JCP, и он единственный. На Java CSP я галочку не ставил при установке.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,003 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 714 раз в 674 постах
|
Значит, все-таки попадает какой-нибудь JKS keystore (раз провайдер SUN у него определяется, а должен быть JCP, т.е. keystore с типом HDImageStore). |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.10.2014(UTC) Сообщений: 38 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Казань Сказал(а) «Спасибо»: 12 раз Поблагодарили: 1 раз в 1 постах
|
Интересная деталь... Переименовал все jks-контейнеры какие были в JRE и в user.home, и ошибка Код:Default store provider (keyStore) is SUN but default config provider (cpSSL) is JCP. Check settings on the tab 'Algorithms' of JCP Pane.
пропала =)) Но результат не изменился - No X509TrustManager implementation available
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,003 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 714 раз в 674 постах
|
Может, они теперь просто не приходят? Как вариант - попробовать исходники к себе скопировать и поотлаживать, найти место, где создается/используется SSL контект. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 14.10.2014(UTC) Сообщений: 38 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Казань Сказал(а) «Спасибо»: 12 раз Поблагодарили: 1 раз в 1 постах
|
Задал вопрос на cxf-user. Подождем результатов...
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 02.09.2015(UTC) Сообщений: 33
Сказал(а) «Спасибо»: 4 раз
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close