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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline PetrischevMV@ngs.ru  
#1 Оставлено : 13 ноября 2017 г. 18:45:21(UTC)
PetrischevMV@ngs.ru

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.10.2013(UTC)
Сообщений: 8
Мужчина
Российская Федерация

Доброго времени суток.

Для подключений к удостоверяющему центру крипто про через TLS добавили CryptoPro JCP 2.0 и cpSSL в java 1.8
Наш сервер(Wildfly 8.1) выступает клиентом в при обращении не внешние адреса

После установки CryptoPro задача по доступу к удостоверяющему центру была решена но появилась проблема отправки SOAP сообщений на https адреса

Код:
Error occurred while sending SOAP Request to Server
22:16:30,575 ERROR  javax.xml.soap.SOAPException: JBWS024004: SOAP message could not be sent
22:16:30,575 ERROR  	at org.jboss.wsf.stack.cxf.saaj.SOAPConnectionImpl.call(SOAPConnectionImpl.java:124)
22:16:30,575 ERROR  	at com.ats.vis.services.MutualAuthenticationHTTP.test2(MutualAuthenticationHTTP.java:376)
22:16:30,575 ERROR  	at com.ats.vis.services.EITaskMessageSender.sendRequest(EITaskMessageSender.java:179)
22:16:30,576 ERROR  	at com.ats.vis.services.EITaskMessageSender.send(EITaskMessageSender.java:73)
22:16:30,576 ERROR  	at com.ats.vis.services.EITaskMessageSender.send(EITaskMessageSender.java:43)
22:16:30,576 ERROR  	at com.ats.vis.services.EITaskMessageSender$Proxy$_$$_WeldClientProxy.send(Unknown Source)
22:16:30,576 ERROR  	at com.ats.vis.services.rpgu.resender.MessageService$1.run(MessageService.java:77)
22:16:30,576 ERROR  	at com.ats.vis.services.rpgu.resender.MessageService$1.run(MessageService.java:38)
22:16:30,576 ERROR  	at com.ats.vis.services.orient.OrientExecutor.run(OrientExecutor.java:98)
22:16:30,576 ERROR  	at com.ats.vis.services.rpgu.resender.MessageService.send(MessageService.java:89)
22:16:30,576 ERROR  	at com.ats.vis.services.rpgu.resender.MessageService$Proxy$_$$_WeldClientProxy.send(Unknown Source)
22:16:30,576 ERROR  	at com.ats.vis.services.rpgu.resender.MessageResenderService$MessageResenderTask.run(MessageResenderService.java:143)
22:16:30,576 ERROR  	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
22:16:30,576 ERROR  	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
22:16:30,576 ERROR  	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
22:16:30,576 ERROR  	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
22:16:30,576 ERROR  	at java.lang.Thread.run(Thread.java:748)
22:16:30,577 ERROR  Caused by: javax.net.ssl.SSLException: SSLException invoking https://google.com: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
22:16:30,577 ERROR  	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
22:16:30,577 ERROR  	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
22:16:30,577 ERROR  	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
22:16:30,577 ERROR  	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
22:16:30,577 ERROR  	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1347)
22:16:30,577 ERROR  	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1331)
22:16:30,577 ERROR  	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
22:16:30,577 ERROR  	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:632)
22:16:30,577 ERROR  	at org.jboss.wsf.stack.cxf.saaj.SOAPConnectionImpl.call(SOAPConnectionImpl.java:120)
22:16:30,577 ERROR  	... 16 more
22:16:30,580 ERROR  Caused by: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
22:16:30,580 ERROR  	at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
22:16:30,580 ERROR  	at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1959)
22:16:30,580 ERROR  	at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1916)
22:16:30,580 ERROR  	at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1899)
22:16:30,580 ERROR  	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1420)
22:16:30,580 ERROR  	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
22:16:30,580 ERROR  	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
22:16:30,580 ERROR  	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
22:16:30,580 ERROR  	at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1334)
22:16:30,580 ERROR  	at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1309)
22:16:30,580 ERROR  	at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.getOutputStream(HttpsURLConnectionOldImpl.java:229)
22:16:30,581 ERROR  	at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.setupWrappedStream(URLConnectionHTTPConduit.java:174)
22:16:30,581 ERROR  	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1290)
22:16:30,581 ERROR  	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1246)
22:16:30,581 ERROR  	at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.onFirstWrite(URLConnectionHTTPConduit.java:201)
22:16:30,581 ERROR  	at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:47)
22:16:30,581 ERROR  	at org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69)
22:16:30,581 ERROR  	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1303)
22:16:30,581 ERROR  	... 19 more
22:16:30,581 ERROR  Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
22:16:30,581 ERROR  	at ru.CryptoPro.ssl.w.<init>(Unknown Source)
22:16:30,581 ERROR  	at ru.CryptoPro.ssl.g.b(Unknown Source)
22:16:30,582 ERROR  	at ru.CryptoPro.ssl.g.checkServerTrusted(Unknown Source)
22:16:30,582 ERROR  	at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:985)
22:16:30,582 ERROR  	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1496)
22:16:30,582 ERROR  	at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
22:16:30,582 ERROR  	at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1026)
22:16:30,582 ERROR  	at sun.security.ssl.Handshaker.process_record(Handshaker.java:961)
22:16:30,582 ERROR  	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1072)
22:16:30,582 ERROR  	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
22:16:30,582 ERROR  	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
22:16:30,582 ERROR  	... 32 more
22:16:30,582 ERROR  Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
22:16:30,582 ERROR  	at java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:200)
22:16:30,583 ERROR  	at java.security.cert.PKIXParameters.<init>(PKIXParameters.java:120)
22:16:30,583 ERROR  	at java.security.cert.PKIXBuilderParameters.<init>(PKIXBuilderParameters.java:104)



параметры доверенных сертификатов выставлены, пробобвали различными способами
System.setProperty("javax.net.ssl.trustStore", "D:/CryptoPro/trustStore.jks");
System.setProperty("javax.net.ssl.trustStoreType", "CertStore");
System.setProperty("javax.net.ssl.trustStorePassword", "1");

Подскажите как еще можно их попробовать задать?
Offline PetrischevMV@ngs.ru  
#2 Оставлено : 13 ноября 2017 г. 19:35:33(UTC)
PetrischevMV@ngs.ru

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.10.2013(UTC)
Сообщений: 8
Мужчина
Российская Федерация

Сертификаты в хранилище:

Код:
keytool -list -keystore D:/CryptoPro/trustStore.jks -storetype CertStore
Enter keystore password:
Keystore type: CERTSTORE
Keystore provider: JCP

Your keystore contains 5 entries

cacer3.crt, 10.11.2017, trustedCertEntry,
Certificate fingerprint (SHA1): 6C:31:54:9B:7D:B0:7A:8E:41:97:3D:C3:FC:39:67:4D:69:1D:19:A2
веб-серверцентрарегистрацииуцкрипто-про.crt, 10.11.2017, trustedCertEntry,
Certificate fingerprint (SHA1): 4C:6B:7E:A0:DB:CA:C1:F0:0F:92:54:F9:63:66:BD:4D:56:51:12:A1
thawteprimaryrootca.crt, 10.11.2017, trustedCertEntry,
Certificate fingerprint (SHA1): 91:C6:D6:EE:3E:8A:C8:63:84:E5:48:C2:99:29:5C:75:6C:81:7B:81
uecard-transport.korona.net.crt, 10.11.2017, trustedCertEntry,
Certificate fingerprint (SHA1): BF:D6:9D:DD:CC:F2:42:5C:71:2E:31:EB:E5:B7:BA:F8:F4:BD:30:D0
cryptoprocrm.crt, 10.11.2017, trustedCertEntry,
Certificate fingerprint (SHA1): CC:9E:31:D1:7C:A8:DA:2C:F8:E8:D1:D9:1D:79:96:98:1B:9A:17:67



похоже проблема аналогична описанной тут https://www.cryptopro.ru...ts&m=60342#post60342

Apache использует собственный контекст на который не получается повлиять


пока не нашел как для него можно в Wildfly задать настрйоки по умолчанию

Отредактировано пользователем 13 ноября 2017 г. 20:12:21(UTC)  | Причина: Не указана

Offline PetrischevMV@ngs.ru  
#3 Оставлено : 14 ноября 2017 г. 7:14:55(UTC)
PetrischevMV@ngs.ru

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.10.2013(UTC)
Сообщений: 8
Мужчина
Российская Федерация

Можно как то для CryptoPro задать trustStore по умолчанию?
Offline PetrischevMV@ngs.ru  
#4 Оставлено : 15 ноября 2017 г. 8:45:59(UTC)
PetrischevMV@ngs.ru

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.10.2013(UTC)
Сообщений: 8
Мужчина
Российская Федерация

может проблема в том что не задан провайдер(trustStore provider) по умолчанию?


Код:

12:42:50,368 INFO  [ru.CryptoPro.ssl.SSLLogger] (MSC service thread 1-1) keyStore is : 
12:42:50,368 INFO  [ru.CryptoPro.ssl.SSLLogger] (MSC service thread 1-1) keyStore type is : 
12:42:50,368 INFO  [ru.CryptoPro.ssl.SSLLogger] (MSC service thread 1-1) keyStore provider is : 
12:42:50,368 INFO  [ru.CryptoPro.ssl.SSLLogger] (MSC service thread 1-1) init key store
12:42:50,370 INFO  [ru.CryptoPro.ssl.SSLLogger] (MSC service thread 1-1) defaultStoreProvider = 
12:42:50,370 INFO  [ru.CryptoPro.ssl.SSLLogger] (MSC service thread 1-1) 
12:42:50,378 INFO  [ru.CryptoPro.JCP.tools.JCPLogger] (MSC service thread 1-1) Loading JCP 2.0 38481
12:42:50,379 INFO  [ru.CryptoPro.JCP.tools.JCPLogger] (MSC service thread 1-1) JCP loaded.
12:42:50,380 INFO  [ru.CryptoPro.ssl.SSLLogger] (MSC service thread 1-1) init key manager of type GostX509
12:42:50,617 WARNING [ru.CryptoPro.ssl.SSLLogger] (MSC service thread 1-1) %% No appropriate keys for handshake
PATH: D:\CryptoPro\
12:42:50,617 INFO  [ru.CryptoPro.ssl.SSLLogger] (MSC service thread 1-1) trustStore is: D:/CryptoPro/trustStore.jks
12:42:50,617 INFO  [ru.CryptoPro.ssl.SSLLogger] (MSC service thread 1-1) trustStore type is : CertStore
12:42:50,617 INFO  [ru.CryptoPro.ssl.SSLLogger] (MSC service thread 1-1) trustStore provider is : 
12:42:50,618 INFO  [ru.CryptoPro.ssl.SSLLogger] (MSC service thread 1-1) init trust store
12:42:50,645 INFO  [ru.CryptoPro.ssl.SSLLogger] (MSC service thread 1-1) init trust manager of type GostX509
12:42:50,646 INFO  [ru.CryptoPro.ssl.SSLLogger] (MSC service thread 1-1) init context...
12:42:50,718 INFO  [ru.CryptoPro.ssl.SSLLogger] (MSC service thread 1-1) Context initiated.


добавил JCSP - не помогло

Отредактировано пользователем 15 ноября 2017 г. 9:23:29(UTC)  | Причина: проверил

Offline HelenKlimova  
#5 Оставлено : 18 ноября 2017 г. 15:00:15(UTC)
HelenKlimova

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

Группы: Участники
Зарегистрирован: 10.06.2014(UTC)
Сообщений: 65
Российская Федерация

Сказал(а) «Спасибо»: 5 раз
Мы у себя в приложении работаем как с обычным https, так и с гостовским (Крипто-про).
Если я правильно понимаю проблему, нужно поднимать пустой ssl context при работе с https.

Типа так

Код:

SSLContext context = SSLContext.getInstance("SSL");
context.init(null, trustAllCerts, new java.security.SecureRandom());


Где trustAllCerts - TrustManager[], доверяющий всем. Либо можно каждый раз делать свой TrustManager[], зависит от задачи.
И далее использовать этот context уже при работе с https



Offline PetrischevMV@ngs.ru  
#6 Оставлено : 20 ноября 2017 г. 8:11:19(UTC)
PetrischevMV@ngs.ru

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.10.2013(UTC)
Сообщений: 8
Мужчина
Российская Федерация

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