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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline itechno  
#1 Оставлено : 22 июля 2016 г. 18:31:29(UTC)
itechno

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

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

Работаю в многопоточном режиме с КриптоПро SCP 3.9 и jcp-2.0.38674, JDK1.8u60.
Потоков до 15 штук (а хотелось бы штук 40 потоков - комп. позволяет).
В однопоточном режиме все работает.
Стандартный вопрос - что делать?

Получаю ошибку:
17:59:39,530 ERROR [stderr] (Thread-106) javax.xml.ws.soap.SOAPFaultException: Problem writing SAAJ model to stream: Something wrong in agreement

17:59:39,530 ERROR [stderr] (Thread-106) at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:158)

17:59:39,530 ERROR [stderr] (Thread-106) at com.sun.proxy.$Proxy161.exportHouseData(Unknown Source)

17:59:39,530 ERROR [stderr] (Thread-106) at kmh.gis.gkh.soap.controller.HouseManagementServiceAsyncController.replicateOneHouse(HouseManagementServiceAsyncController.java:375)

17:59:39,531 ERROR [stderr] (Thread-106) at kmh.gis.gkh.soap.controller.ReplicateOneHouseRunnable.run(HouseManagementServiceAsyncController.java:3422)

17:59:39,531 ERROR [stderr] (Thread-106) at java.lang.Thread.run(Thread.java:745)

17:59:39,531 ERROR [stderr] (Thread-106) Caused by: com.ctc.wstx.exc.WstxIOException: Something wrong in agreement

17:59:39,531 ERROR [stderr] (Thread-106) at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:255)

17:59:39,531 ERROR [stderr] (Thread-106) at org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor$SAAJOutEndingInterceptor.handleMessage(SAAJOutInterceptor.java:215)

17:59:39,531 ERROR [stderr] (Thread-106) at org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor$SAAJOutEndingInterceptor.handleMessage(SAAJOutInterceptor.java:174)

17:59:39,531 ERROR [stderr] (Thread-106) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)

17:59:39,531 ERROR [stderr] (Thread-106) at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:572)

17:59:39,531 ERROR [stderr] (Thread-106) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:481)

17:59:39,531 ERROR [stderr] (Thread-106) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382)

17:59:39,531 ERROR [stderr] (Thread-106) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335)

17:59:39,531 ERROR [stderr] (Thread-106) at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)

17:59:39,532 ERROR [stderr] (Thread-106) at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:136)

17:59:39,532 ERROR [stderr] (Thread-106) ... 4 more

17:59:39,532 ERROR [stderr] (Thread-106) Caused by: java.io.IOException: Something wrong in agreement

17:59:39,532 ERROR [stderr] (Thread-106) at ru.CryptoPro.ssl.a.d.a(Unknown Source)

17:59:39,532 ERROR [stderr] (Thread-106) at ru.CryptoPro.ssl.a.f.a(Unknown Source)

17:59:39,532 ERROR [stderr] (Thread-106) at ru.CryptoPro.ssl.ao.a(Unknown Source)

17:59:39,532 ERROR [stderr] (Thread-106) at ru.CryptoPro.ssl.ao.a(Unknown Source)

17:59:39,532 ERROR [stderr] (Thread-106) at ru.CryptoPro.ssl.f.o(Unknown Source)

17:59:39,532 ERROR [stderr] (Thread-106) at ru.CryptoPro.ssl.f.a(Unknown Source)

17:59:39,532 ERROR [stderr] (Thread-106) at ru.CryptoPro.ssl.am.a(Unknown Source)

17:59:39,532 ERROR [stderr] (Thread-106) at ru.CryptoPro.ssl.am.i(Unknown Source)

17:59:39,532 ERROR [stderr] (Thread-106) at ru.CryptoPro.ssl.am.startHandshake(Unknown Source)

17:59:39,533 ERROR [stderr] (Thread-106) at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)

17:59:39,533 ERROR [stderr] (Thread-106) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)

17:59:39,533 ERROR [stderr] (Thread-106) at sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1282)

17:59:39,533 ERROR [stderr] (Thread-106) at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1257)

17:59:39,533 ERROR [stderr] (Thread-106) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)

17:59:39,533 ERROR [stderr] (Thread-106) at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.setupWrappedStream(URLConnectionHTTPConduit.java:174)

17:59:39,533 ERROR [stderr] (Thread-106) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1290)

17:59:39,533 ERROR [stderr] (Thread-106) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1246)

17:59:39,533 ERROR [stderr] (Thread-106) at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.onFirstWrite(URLConnectionHTTPConduit.java:201)

17:59:39,533 ERROR [stderr] (Thread-106) at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:47)

17:59:39,533 ERROR [stderr] (Thread-106) at org.apache.cxf.io.AbstractThresholdOutputStream.unBuffer(AbstractThresholdOutputStream.java:89)

17:59:39,533 ERROR [stderr] (Thread-106) at org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:63)

17:59:39,534 ERROR [stderr] (Thread-106) at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:100)

17:59:39,534 ERROR [stderr] (Thread-106) at com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:241)

17:59:39,534 ERROR [stderr] (Thread-106) at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:253)

17:59:39,534 ERROR [stderr] (Thread-106) ... 13 more

17:59:39,534 ERROR [stderr] (Thread-106) Caused by: java.lang.IllegalArgumentException: MSCAPI ERROR:170

17:59:39,534 ERROR [stderr] (Thread-106) at ru.CryptoPro.JCSP.MSCAPI.c.b(Unknown Source)

17:59:39,534 ERROR [stderr] (Thread-106) at ru.CryptoPro.JCSP.MSCAPI.a.a(Unknown Source)

17:59:39,534 ERROR [stderr] (Thread-106) at ru.CryptoPro.JCSP.MSCAPI.b.a(Unknown Source)

17:59:39,534 ERROR [stderr] (Thread-106) at ru.CryptoPro.JCSP.Key.AbstractKeySpec.doDHPhase(Unknown Source)

17:59:39,534 ERROR [stderr] (Thread-106) at ru.CryptoPro.JCSP.Key.KeyAgreement.engineDoPhase(Unknown Source)

17:59:39,534 ERROR [stderr] (Thread-106) at javax.crypto.KeyAgreement.doPhase(KeyAgreement.java:567)

17:59:39,534 ERROR [stderr] (Thread-106) ... 37 more

Отредактировано пользователем 22 июля 2016 г. 18:33:47(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 25 июля 2016 г. 9:54:03(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Здравствуйте.
Что вы используете - cpSSL?
Какая сборка CSP 3.9?
Ключевой контейнер во всех соединениях один и тот же или разный? SSLContext один во всех случаях или создается новый каждый раз?
Offline itechno  
#3 Оставлено : 25 июля 2016 г. 15:17:46(UTC)
itechno

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

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

Здравствуйте.
1)Версия ядра СКЗИ 3.9.8001 КС2
Версия продукта 3.9.8227
3) Ключевой контейнер во всех соединениях один и тот же.
4) SSLContext скорее всего один и тот же (default) - явно нигде не создаю дополнительный:
...
final SSLContext sc = SSLContext.getInstance("GostTLS");
sc.init( kf.getKeyManagers(), trustAllCerts /*tmf.getTrustManagers()*/, new java.security.SecureRandom());
SSLSocketFactory socketFactory = sc.getSocketFactory();
HttpsURLConnection.setDefaultSSLSocketFactory(socketFactory);

2) По поводу cpSSL. Скорее всего не используется. В JBoss7 использую ссылочный модуль (modul.xml):

<module xmlns="urn:jboss:module:1.1" name="ru.CryptoPro.JCSP">
<dependencies>
<system export="true">
<paths>
<path name="ru/CryptoPro"/>
<path name="ru/CryptoPro/JCSP"/>
<path name="ru/CryptoPro/JCPxml"/>
<path name="ru/CryptoPro/JCPxml/xmldsig"/>
<path name="ru/CryptoPro/JCP/KeyStore"/>
<path name="xades4j"/>
<path name="xades4j/providers"/>
<path name="xades4j/providers/impl"/>
<path name="xades4j/production"/>
<path name="ru/CryptoPro/JCPxml"/>
<path name="ru/CryptoPro/JCPxml/dsig"/>
<path name="ru/CryptoPro/JCPxml/dsig/internal"/>
<path name="ru/CryptoPro/JCPxml/dsig/internal/dom"/>
<path name="ru/CryptoPro/JCPxml/utility"/>
<path name="ru/CryptoPro/JCPxml/xmldsig"/>
<path name="org/apache/xml/security/resource"/>
<path name="ru/CryptoPro/JCP/ASN/Audit_Log"/>
<path name="ru/CryptoPro/JCP/ASN/CA_Definitions"/>
<path name="ru/CryptoPro/JCP/ASN/CertificateExtensions"/>
<path name="ru/CryptoPro/JCP/ASN/CPPKIXCMP"/>
<path name="ru/CryptoPro/JCP/ASN/Cryptocom_Useful_Definitions"/>
<path name="ru/CryptoPro/JCP/ASN/Cryptographic_Gost_Useful_Definitions"/>
<path name="ru/CryptoPro/JCP/ASN/CryptographicMessageSyntax"/>
<path name="ru/CryptoPro/JCP/ASN/CryptoPro_Attributes"/>
<path name="ru/CryptoPro/JCP/ASN/ETS_ElectronicSignatureFormats_97Syntax"/>
<path name="ru/CryptoPro/JCP/ASN/ExtendedSecurityServices"/>
<path name="ru/CryptoPro/JCP/ASN/Gost_CryptoPro_Constants"/>
<path name="ru/CryptoPro/JCP/ASN/Gost_CryptoPro_ExtendedKeyUsage"/>
<path name="ru/CryptoPro/JCP/ASN/Gost_CryptoPro_Policy"/>
<path name="ru/CryptoPro/JCP/ASN/Gost_CryptoPro_PrivateKey"/>
<path name="ru/CryptoPro/JCP/ASN/Gost_CryptoPro_TLS"/>
<path name="ru/CryptoPro/JCP/ASN/Gost_Qualified_Certificate"/>
<path name="ru/CryptoPro/JCP/ASN/Gost_xmldsig"/>
<path name="ru/CryptoPro/JCP/ASN/Gost28147_89_EncryptionSyntax"/>
<path name="ru/CryptoPro/JCP/ASN/Gost28147_89_ParamSetSyntax"/>
<path name="ru/CryptoPro/JCP/ASN/GostR3410_2001_ParamSetSyntax"/>
<path name="ru/CryptoPro/JCP/ASN/GostR3410_2001_PKISyntax"/>
<path name="ru/CryptoPro/JCP/ASN/GostR3410_2001_SignatureSyntax"/>
<path name="ru/CryptoPro/JCP/ASN/GostR3410_2012_EncryptionSyntax"/>
<path name="ru/CryptoPro/JCP/ASN/GostR3410_2012_ParamSetSyntax"/>
<path name="ru/CryptoPro/JCP/ASN/GostR3410_2012_PKISyntax"/>
<path name="ru/CryptoPro/JCP/ASN/GostR3410_2012_SignatureSyntax"/>
<path name="ru/CryptoPro/JCP/ASN/GostR3410_EncryptionSyntax"/>
<path name="ru/CryptoPro/JCP/ASN/GostR3411_2012_DigestSyntax"/>
<path name="ru/CryptoPro/JCP/ASN/GostR3411_94_DigestSyntax"/>
<path name="ru/CryptoPro/JCP/ASN/GostR3411_94_ParamSetSyntax"/>
<path name="ru/CryptoPro/JCP/ASN/KRB5"/>
<path name="ru/CryptoPro/JCP/ASN/Name_Service"/>
<path name="ru/CryptoPro/JCP/ASN/PKIX1Explicit88"/>
<path name="ru/CryptoPro/JCP/ASN/PKIXCMP"/>
<path name="ru/CryptoPro/JCP/ASN/PKIXCRMF"/>
<path name="ru/CryptoPro/JCP/ASN/PKIXDVCS"/>
<path name="ru/CryptoPro/JCP/ASN/PKIXOCSP"/>
<path name="ru/CryptoPro/JCP/ASN/PKIXTSP"/>
<path name="ru/CryptoPro/JCP/ASN/SecureMimeMessageV3"/>
<path name="ru/CryptoPro/JCP/ASN/TC26_Cryptographic_Gost_Useful_Definitions"/>
<path name="javax/xml/crypto"/>
<path name="javax/xml/crypto/dom"/>
<path name="javax/xml/crypto/dsig"/>
<path name="org/apache/jcp/xml/dsig/internal"/>
<path name="org/apache/jcp/xml/dsig/internal/dom"/>
<path name="org/apache/xml/security"/>
<path name="org/apache/xml/security/algorithms"/>
<path name="org/apache/xml/security/algorithms/implementations"/>
<path name="org/apache/xml/security/c14n"/>
<path name="org/apache/xml/security/c14n/helper"/>
<path name="org/apache/xml/security/c14n/implementations"/>
<path name="org/apache/xml/security/encryption"/>
<path name="org/apache/xml/security/exceptions"/>
<path name="org/apache/xml/security/keys"/>
<path name="org/apache/xml/security/keys/content"/>
<path name="org/apache/xml/security/keys/content/keyvalues"/>
<path name="org/apache/xml/security/keys/content/x509"/>
<path name="org/apache/xml/security/keys/keyresolver"/>
<path name="org/apache/xml/security/keys/keyresolver/implementations"/>
<path name="org/apache/xml/security/keys/storage"/>
<path name="org/apache/xml/security/keys/storage/implementations"/>
<path name="org/apache/xml/security/resource"/>
<path name="org/apache/xml/security/resource/schema"/>
<path name="org/apache/xml/security/signature"/>
<path name="org/apache/xml/security/signature/reference"/>
<path name="org/apache/xml/security/transforms"/>
<path name="org/apache/xml/security/transforms/implementations"/>
<path name="org/apache/xml/security/transforms/params"/>
<path name="org/apache/xml/security/utils"/>
<path name="org/apache/xml/security/utils/resolver"/>
<path name="org/apache/xml/security/utils/resolver/implementations"/>
<path name="java_cup/runtime"/>
<!--path name="org/apache/xalan"/>
<path name="org/apache/xalan/client"/>
<path name="org/apache/xalan/extensions"/>
<path name="org/apache/xalan/lib"/>
<path name="org/apache/xalan/lib/sql"/>
<path name="org/apache/xalan/processor"/>
<path name="org/apache/xalan/res"/>
<path name="org/apache/xalan/serialize"/>
<path name="org/apache/xalan/templates"/>
<path name="org/apache/xalan/trace"/>
<path name="org/apache/xalan/transformer"/>
<path name="org/apache/xalan/xslt"/>
<path name="org/apache/xalan/xsltc"/>
<path name="org/apache/xalan/xsltc/cmdline"/>
<path name="org/apache/xalan/xsltc/cmdline/getopt"/>
<path name="org/apache/xalan/xsltc/compiler"/>
<path name="org/apache/xalan/xsltc/compiler/util"/>
<path name="org/apache/xalan/xsltc/dom"/>
<path name="org/apache/xalan/xsltc/runtime"/>
<path name="org/apache/xalan/xsltc/runtime/output"/>
<path name="org/apache/xalan/xsltc/trax"/>
<path name="org/apache/xalan/xsltc/util"/>
<path name="org/apache/xml"/>
<path name="org/apache/xml/dtm"/>
<path name="org/apache/xml/dtm/ref"/>
<path name="org/apache/xml/dtm/ref/dom2dtm"/>
<path name="org/apache/xml/dtm/ref/sax2dtm"/>
<path name="org/apache/xml/res"/>
<path name="org/apache/xml/serializer"/>
<path name="org/apache/xml/serializer/utils"/>
<path name="org/apache/xml/utils"/>
<path name="org/apache/xml/utils/res"/>
<path name="org/apache/xpath"/>
<path name="org/apache/xpath/axes"/>
<path name="org/apache/xpath/compiler"/>
<path name="org/apache/xpath/domapi"/>
<path name="org/apache/xpath/functions"/>
<path name="org/apache/xpath/jaxp"/>
<path name="org/apache/xpath/objects"/>
<path name="org/apache/xpath/operations"/>
<path name="org/apache/xpath/patterns"/>
<path name="org/apache/xpath/res"/-->



<path name="com/sun/org/apache/xerces/internal/dom"/>
</paths>
</system>
</dependencies>
</module>

В логе JBoss7:
15:14:57,237 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss EAP 6.4.0.GA (AS 7.5.0.Final-redhat-21) started in 12959ms - Started 543 of 581 services (60 services are lazy, passive or on-demand)
15:15:07,157 INFO [stdout] (gisGkhScheduler-1) Запуск периодической репликации баз СГРЦ и ГИС ЖКХ (SchedulerForReplication.processReplication()) : Mon Jul 25 15:15:07 GMT+03:00 2016

15:15:08,050 INFO [ru.CryptoPro.JCP.tools.JCPLogger] (gisGkhScheduler-1) Loading JCSP 4.0 38674
15:15:08,050 INFO [ru.CryptoPro.JCP.tools.JCPLogger] (gisGkhScheduler-1) JCSP loaded.
15:15:08,622 INFO [org.apache.cxf.service.factory.ReflectionServiceFactoryBean] (gisGkhScheduler-1) Creating Service {http://dom.gosuslugi.ru/schema/integration/9.0.2.1/house-management-service-async/}HouseManagementServiceAsync from WSDL: file:/C:/workspace_9_0/GisGkh/wsdl/hcs-house-management-service-async-9.0.2.1.wsdl
15:15:09,854 INFO [ru.CryptoPro.JCP.tools.JCPLogger] (gisGkhScheduler-1) Loading JCSP 4.0 38674
15:15:09,855 INFO [ru.CryptoPro.JCP.tools.JCPLogger] (gisGkhScheduler-1) JCSP loaded.
15:15:09,871 INFO [stdout] (Thread-114) Начата очистка (подъезды и помещения) дома n_house = 21471

Отредактировано пользователем 25 июля 2016 г. 15:40:52(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#4 Оставлено : 25 июля 2016 г. 16:01:59(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Автор: itechno Перейти к цитате
По поводу cpSSL. Скорее всего не используется.


Как же не используется, когда GostTLS - это его алгоритм. Попробуем воспроизвести.
Offline VBurmistrov  
#5 Оставлено : 9 декабря 2016 г. 17:21:13(UTC)
VBurmistrov

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

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

Сказал(а) «Спасибо»: 5 раз
Поблагодарили: 7 раз в 5 постах
Автор: afev Перейти к цитате
Автор: itechno Перейти к цитате
По поводу cpSSL. Скорее всего не используется.


Как же не используется, когда GostTLS - это его алгоритм. Попробуем воспроизвести.



Здравствуйте!

Подскажите, пожалуйста, удалось ли Вам повторить проблему и найти решение?

Я в данный момент повторил проблему многопоточности при проверке сертификатов и построении пути сертификации

Где-то вот в этом месте :

Код:
  CertPathBuilder builder = CertPathBuilder.getInstance("CPPKIX", "RevCheck");
        pkixParams.setDate(getCurrentDate());
        
        PKIXCertPathBuilderResult result =
                (PKIXCertPathBuilderResult) builder.build(pkixParams);
        
        CertPathValidator certPathValidator = CertPathValidator.getInstance("CPPKIX", "RevCheck");
        PKIXBuilderParameters validattorParams = new PKIXBuilderParameters(trustAnchors, selector);
        validattorParams.setRevocationEnabled(false);


Периодически под нагрузкой с несколькими потоками, мне выбрасывается исключение:
Код:
Exception:  MSCAPI ERROR:170


Еще при валидации подписи получаю:
Код:
Verify signature on XML XMLSignatureException: java.lang.IllegalArgumentException: MSCAPI ERROR:170


Система Suse Linux 12, КриптоПро CSP 4.0 + КриптоПро JavaCSP

Отредактировано пользователем 9 декабря 2016 г. 17:38:29(UTC)  | Причина: Не указана

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