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

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline legioner052019  
#1 Оставлено : 15 мая 2019 г. 8:32:13(UTC)
legioner052019

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

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

По примеру https://zoltanaltfatter....tificate-authentication/ реализовал сервис SOAP с доступом по HTTPS.

Хочу переделать на использование ГОСТ алгоритмов через JCP с контейнером типа HDImageStore.
Установил JCP, выпустил сертификаты через тестовый удостоверяющий центр https://testca2.cryptopro.ru ГОСТ Р 34.11/34.10-2001. Скопировал в хранилище JCP в c:\\Users\\dim\\AppData\\Local\\Crypto Pro\\

в настройках приложения:
server.ssl.protocol = TLS
server.ssl.client-auth = need
server.ssl.enabled = true
server.ssl.key-store=c:\\Users\\dim\\AppData\\Local\\Crypto Pro\\
server.ssl.key-store-provider=JCP
server.ssl.key-store-password=pass123
server.ssl.key-alias=server
server.ssl.key-store-type=HDImageStore

server.ssl.trust-store=classpath:keys/truststore.jks
server.ssl.trust-store-password=pass789


Ошибка
Caused by: java.io.IOException: Неверный формат хранилища.
at ru.CryptoPro.JCP.KeyStore.TrustStore.engineLoad(Unknown Source) ~[JCP.jar:40035]
at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineLoad(Unknown Source) ~[JCP.jar:40035]
at java.security.KeyStore.load(KeyStore.java:1445) ~[na:1.8.0_91]
at org.apache.tomcat.util.security.KeyStoreUtil.load(KeyStoreUtil.java:66) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.SSLUtilBase.getStore(SSLUtilBase.java:209) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore(SSLHostConfigCertificate.java:206) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers(SSLUtilBase.java:272) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.SSLUtilBase.createSSLContext(SSLUtilBase.java:239) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:97) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
... 20 common frames omitted


Прошу помощи. В какую сторону искать.
Offline legioner052019  
#2 Оставлено : 15 мая 2019 г. 14:21:11(UTC)
legioner052019

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

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

Для работы хранилищем контейнеров HDImageStore создал в хранилище сертификатов хранилище и добавил туда сертификат

Поменял в настройках
server.ssl.protocol = GostTLS
server.ssl.client-auth = need
server.ssl.enabled = true

server.ssl.key-store=c:\store.store
server.ssl.key-store-provider: JCP
server.ssl.key-store-password=pass123
server.ssl.key-alias=server
server.ssl.key-store-type=HDImageStore


server.ssl.trust-store=c:\trust.store
server.ssl.trust-store-password=pass123

теперь ошибка такая

java.lang.IllegalArgumentException: Unsupported ciphersuite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
at ru.CryptoPro.ssl.cl_8.a(Unknown Source) ~[cpSSL.jar:40035]
at ru.CryptoPro.ssl.cl_13.<init>(Unknown Source) ~[cpSSL.jar:40035]
at ru.CryptoPro.ssl.SSLEngineImpl.setEnabledCipherSuites(Unknown Source) ~[cpSSL.jar:40035]
at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLEngine(AbstractJsseEndpoint.java:134) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.SecureNioChannel.processSNI(SecureNioChannel.java:329) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.SecureNioChannel.handshake(SecureNioChannel.java:175) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1392) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.17.jar:9.0.17]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_91]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_91]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.17.jar:9.0.17]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]

Отредактировано пользователем 15 мая 2019 г. 14:22:53(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#3 Оставлено : 15 мая 2019 г. 15:03:35(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Здравствуйте.
Нужен еще параметр для задания сайферсюит TLS_CIPHER_2012 и TLS_CIPHER_2001 (возможно, server.ssl.ciphers=TLS_CIPHER_2012,TLS_CIPHER_2001), т.к. в ru.CryptoPro.ssl.SSLEngineImpl.setEnabledCipherSuites(), полагаю, подается незнакомый набор.

Отредактировано пользователем 15 мая 2019 г. 15:05:36(UTC)  | Причина: Не указана

Offline legioner052019  
#4 Оставлено : 15 мая 2019 г. 15:58:45(UTC)
legioner052019

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

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

добавил server.ssl.ciphers=TLS_CIPHER_2012,TLS_CIPHER_2001

Caused by: java.lang.IllegalArgumentException: None of the [ciphers] specified are supported by the SSL engine : [[]]
at org.apache.tomcat.util.net.SSLUtilBase.getEnabled(SSLUtilBase.java:143) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.SSLUtilBase.<init>(SSLUtilBase.java:117) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.jsse.JSSEUtil.<init>(JSSEUtil.java:114) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.jsse.JSSEUtil.<init>(JSSEUtil.java:109) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.jsse.JSSEImplementation.getSSLUtil(JSSEImplementation.java:50) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:88) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:71) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:224) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1103) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1189) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:568) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.catalina.connector.Connector.startInternal(Connector.java:1005) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
... 14 common frames omitted

Offline Евгений Афанасьев  
#5 Оставлено : 15 мая 2019 г. 19:37:02(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
А тут уже не нравятся наши сюиты. Вероятно, производится какая-нибудь проверка на наличие их в некоем списке внутри tomcat. Для интеграции cpssl в tomcat выше 8.5 потребовалось добавить свой адаптер с jsse implementation с передачей его в коннектор томката. Возможно, и тут требуется что-то такое. Об адаптере и он сам есть в папке webserverintegration в дистрибутиве, в папке tomcat9.
Offline legioner052019  
#6 Оставлено : 16 мая 2019 г. 11:01:55(UTC)
legioner052019

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

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

Написал
Код:
@Bean
fun servletContainer(): ServletWebServerFactory {
    val tomcat = TomcatServletWebServerFactory()
    tomcat.addAdditionalTomcatConnectors(createSslConnector())
    return tomcat
}

private fun createSslConnector(): Connector {
    val keystore = FileSystemResource(keystorePath).file
    val truststore = FileSystemResource(truststorePath).file

    val connector = Connector("org.apache.coyote.http11.Http11NioProtocol")
    connector.setEnableLookups(false)
    connector.setScheme("https")
    connector.setSecure(true)
    connector.setPort(8002)

    val protocol = connector.getProtocolHandler() as Http11NioProtocol

    protocol.setAlgorithm("GostX509");
    protocol.setTruststoreAlgorithm("GostX509");
    protocol.setSSLEnabled(true);

    protocol.setKeystoreType(keyStoreType);
    protocol.setKeystoreFile(keystore.absolutePath)
    protocol.setKeystorePass(keystorePass)
    protocol.setKeyAlias(keysAlias)
    protocol.setKeystoreProvider(KeyStoreProvider)

    protocol.setTruststoreType(keyStoreType);
    protocol.setTruststoreFile(truststore.absolutePath)
    protocol.setTruststorePass(truststorePass)
    protocol.setTruststoreProvider(KeyStoreProvider)

    protocol.setSSLProtocol("GostTLS");
    protocol.setCiphers("TLS_CIPHER_2001,TLS_CIPHER_2012");
    protocol.setSslEnabledProtocols("GostTLS,GostTLSv1.1,GostTLSv1.2");
    return connector
}


Ошибка
Код:
Caused by: java.lang.IllegalArgumentException: None of the [protocols] specified are supported by the SSL engine : [[GostTLS, GostTLSv1.2, GostTLSv1.1]]
	at org.apache.tomcat.util.net.SSLUtilBase.getEnabled(SSLUtilBase.java:143) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
	at org.apache.tomcat.util.net.SSLUtilBase.<init>(SSLUtilBase.java:101) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
	at org.apache.tomcat.util.net.jsse.JSSEUtil.<init>(JSSEUtil.java:114) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
	at org.apache.tomcat.util.net.jsse.JSSEUtil.<init>(JSSEUtil.java:109) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
	at org.apache.tomcat.util.net.jsse.JSSEImplementation.getSSLUtil(JSSEImplementation.java:50) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
	at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:88) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
	at org.apache.tomcat.util.net.AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoint.java:71) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
	at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:224) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
	at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1103) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
	at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1189) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
	at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:568) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
	at org.apache.catalina.connector.Connector.startInternal(Connector.java:1005) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
	... 14 common frames omitted

Offline Евгений Афанасьев  
#7 Оставлено : 16 мая 2019 г. 14:21:34(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Попробуйте указать в алгоритмах вместо
protocol.setSSLProtocol("GostTLS");
protocol.setSslEnabledProtocols("GostTLS,GostTLSv1.1,GostTLSv1.2");
так
protocol.setSSLProtocol("TLSv1");
protocol.setSslEnabledProtocols("TLSv1,TLSv1.1,TLSv1.2");
Offline legioner052019  
#8 Оставлено : 16 мая 2019 г. 14:42:53(UTC)
legioner052019

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

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

смотрите
если заккоментировать setCiphers то запускается
Код:

protocol.setSSLProtocol("GostTLS")
// protocol.setCiphers("TLS_CIPHER_2001,TLS_CIPHER_2012")
protocol.setSslEnabledProtocols("all,GostTLS,GostTLSv1.1,GostTLSv1.2")

логи
Код:
2019-05-16 14:33:28.244  INFO 7272 --- [           main] ru.ksbsoft.server.ApplicationKt          : Starting ApplicationKt on KSB-002 with PID 7272 (C:\dim4\kotlin\blz\server\target\classes started by ivanov-d in C:\dim4\kotlin\blz)
2019-05-16 14:33:28.246  INFO 7272 --- [           main] ru.ksbsoft.server.ApplicationKt          : No active profile set, falling back to default profiles: default
2019-05-16 14:33:29.433  INFO 7272 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'soapServiceConfig' of type [ru.ksbsoft.server.SoapServiceConfig$$EnhancerBySpringCGLIB$$c252ee65] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-05-16 14:33:29.440  INFO 7272 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'tomcatConfig' of type [ru.ksbsoft.server.config.TomcatConfig$$EnhancerBySpringCGLIB$$c58b672b] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-05-16 14:33:29.443  INFO 7272 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.ws.config.annotation.DelegatingWsConfiguration' of type [org.springframework.ws.config.annotation.DelegatingWsConfiguration$$EnhancerBySpringCGLIB$$d8c12e9] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-05-16 14:33:29.491  INFO 7272 --- [           main] .w.s.a.s.AnnotationActionEndpointMapping : Supporting [WS-Addressing August 2004, WS-Addressing 1.0]
2019-05-16 14:33:29.664  WARN 7272 --- [           main] o.apache.tomcat.util.net.SSLHostConfig   : The protocol [GostTLS] was added to the list of protocols on the SSLHostConfig named [_default_]. Check if a +/- prefix is missing.
2019-05-16 14:33:29.664  WARN 7272 --- [           main] o.apache.tomcat.util.net.SSLHostConfig   : The protocol [GostTLSv1.1] was added to the list of protocols on the SSLHostConfig named [_default_]. Check if a +/- prefix is missing.
2019-05-16 14:33:29.664  WARN 7272 --- [           main] o.apache.tomcat.util.net.SSLHostConfig   : The protocol [GostTLSv1.2] was added to the list of protocols on the SSLHostConfig named [_default_]. Check if a +/- prefix is missing.
2019-05-16 14:33:30.332  INFO 7272 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8000 (http) 8002 (https)
2019-05-16 14:33:30.634  INFO 7272 --- [           main] ru.CryptoPro.ssl.SSLLogger               : trustStore is :  No File Available, using empty keystore.
2019-05-16 14:33:30.634  INFO 7272 --- [           main] ru.CryptoPro.ssl.SSLLogger               : trustStore type is :  HDImageStore
2019-05-16 14:33:30.634  INFO 7272 --- [           main] ru.CryptoPro.ssl.SSLLogger               : trustStore provider is :  
2019-05-16 14:33:30.634  INFO 7272 --- [           main] ru.CryptoPro.ssl.SSLLogger               : init truststore
2019-05-16 14:33:31.300  INFO 7272 --- [           main] ru.CryptoPro.JCP.tools.JCPLogger         : Loading JCP 2.0.40035
2019-05-16 14:33:31.339  INFO 7272 --- [           main] ru.CryptoPro.JCP.tools.JCPLogger         : JCP loaded.
2019-05-16 14:33:31.478  WARN 7272 --- [           main] o.apache.tomcat.util.net.jsse.JSSEUtil   : Some of the specified [protocols] are not supported by the SSL engine and have been skipped: [[GostTLS, GostTLSv1.2, GostTLSv1.1]]
2019-05-16 14:33:31.588  INFO 7272 --- [           main] ru.CryptoPro.ssl.SSLLogger               : %% adding as private keys %%
2019-05-16 14:33:31.658  INFO 7272 --- [           main] ru.CryptoPro.ssl.SSLLogger               : %% adding as private keys %%
2019-05-16 14:33:31.721  INFO 7272 --- [           main] ru.CryptoPro.ssl.SSLLogger               : %% adding as private keys %%
2019-05-16 14:33:31.824  INFO 7272 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2019-05-16 14:33:31.825  INFO 7272 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.17]
2019-05-16 14:33:31.986  INFO 7272 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2019-05-16 14:33:31.986  INFO 7272 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 3680 ms
2019-05-16 14:33:32.570  INFO 7272 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2019-05-16 14:33:32.799  INFO 7272 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8000 (http) 8002 (https) with context path ''
2019-05-16 14:33:32.802  INFO 7272 --- [           main] ru.ksbsoft.server.ApplicationKt          : Started ApplicationKt in 5.076 seconds (JVM running for 5.598)


как видно o.apache.tomcat.util.net.SSLHostConfig пишет The protocol [GostTLS] was added to the list of protocols on the SSLHostConfig named [_default_]. Check if a +/- prefix is missing
вот тут https://svn.apache.org/v...ion&revision=1681779 пишут что Openssl требует. Получается что у меня не работает GostTLS?

если же я указываею в настройках
Код:
protocol.setSSLProtocol("GostTLS")
//        protocol.setCiphers("TLS_CIPHER_2001,TLS_CIPHER_2012")
protocol.setSslEnabledProtocols("all,+GostTLS,+GostTLSv1.1,+GostTLSv1.2")

выводится
Код:
2019-05-16 14:39:05.649  INFO 9260 --- [           main] ru.ksbsoft.server.ApplicationKt          : Starting ApplicationKt on KSB-002 with PID 9260 (C:\dim4\kotlin\blz\server\target\classes started by ivanov-d in C:\dim4\kotlin\blz)
2019-05-16 14:39:05.653  INFO 9260 --- [           main] ru.ksbsoft.server.ApplicationKt          : No active profile set, falling back to default profiles: default
2019-05-16 14:39:06.810  INFO 9260 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'soapServiceConfig' of type [ru.ksbsoft.server.SoapServiceConfig$$EnhancerBySpringCGLIB$$585ceea1] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-05-16 14:39:06.816  INFO 9260 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'tomcatConfig' of type [ru.ksbsoft.server.config.TomcatConfig$$EnhancerBySpringCGLIB$$5b956767] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-05-16 14:39:06.819  INFO 9260 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.ws.config.annotation.DelegatingWsConfiguration' of type [org.springframework.ws.config.annotation.DelegatingWsConfiguration$$EnhancerBySpringCGLIB$$a3961325] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-05-16 14:39:06.907  INFO 9260 --- [           main] .w.s.a.s.AnnotationActionEndpointMapping : Supporting [WS-Addressing August 2004, WS-Addressing 1.0]
2019-05-16 14:39:07.722  INFO 9260 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8000 (http) 8002 (https)
2019-05-16 14:39:08.117  INFO 9260 --- [           main] ru.CryptoPro.ssl.SSLLogger               : trustStore is :  No File Available, using empty keystore.
2019-05-16 14:39:08.118  INFO 9260 --- [           main] ru.CryptoPro.ssl.SSLLogger               : trustStore type is :  HDImageStore
2019-05-16 14:39:08.118  INFO 9260 --- [           main] ru.CryptoPro.ssl.SSLLogger               : trustStore provider is :  
2019-05-16 14:39:08.118  INFO 9260 --- [           main] ru.CryptoPro.ssl.SSLLogger               : init truststore
2019-05-16 14:39:08.846  INFO 9260 --- [           main] ru.CryptoPro.JCP.tools.JCPLogger         : Loading JCP 2.0.40035
2019-05-16 14:39:08.881  INFO 9260 --- [           main] ru.CryptoPro.JCP.tools.JCPLogger         : JCP loaded.
2019-05-16 14:39:08.991  WARN 9260 --- [           main] o.apache.tomcat.util.net.jsse.JSSEUtil   : Some of the specified [protocols] are not supported by the SSL engine and have been skipped: [[GostTLS, GostTLSv1.2, GostTLSv1.1]]
2019-05-16 14:39:09.104  INFO 9260 --- [           main] ru.CryptoPro.ssl.SSLLogger               : %% adding as private keys %%
2019-05-16 14:39:09.183  INFO 9260 --- [           main] ru.CryptoPro.ssl.SSLLogger               : %% adding as private keys %%
2019-05-16 14:39:09.258  INFO 9260 --- [           main] ru.CryptoPro.ssl.SSLLogger               : %% adding as private keys %%
2019-05-16 14:39:09.355  INFO 9260 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2019-05-16 14:39:09.355  INFO 9260 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.17]
2019-05-16 14:39:09.534  INFO 9260 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2019-05-16 14:39:09.534  INFO 9260 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 3822 ms
2019-05-16 14:39:10.049  INFO 9260 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2019-05-16 14:39:10.308  INFO 9260 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8000 (http) 8002 (https) with context path ''
2019-05-16 14:39:10.311  INFO 9260 --- [           main] ru.ksbsoft.server.ApplicationKt          : Started ApplicationKt in 5.111 seconds (JVM running for 5.651)


o.apache.tomcat.util.net.jsse.JSSEUtil : Some of the specified [protocols] are not supported by the SSL engine and have been skipped: [[GostTLS, GostTLSv1.2, GostTLSv1.1]]

в java.security есть
Код:
ssl.SocketFactory.provider=ru.CryptoPro.ssl.SSLSocketFactoryImpl
ssl.ServerSocketFactory.provider=ru.CryptoPro.ssl.SSLServerSocketFactoryImpl



после запуска сервера проверяем
Код:
c:\Program Files\Crypto Pro\CSP>csptest -tlsc -server 127.0.0.1 -port 8002 -nosave -exchange 3 -prot
o 6 -v
8 algorithms supported:
     Aglid  Class  OID
[00] 0x661e 0x6000 1.2.643.2.2.21 (ГОСТ 28147-89)
[01] 0x801e 0x8000 1.2.643.2.2.3 (ГОСТ Р 34.11/34.10-2001)
[02] 0x8021 0x8000 1.2.643.7.1.1.2.2 (ГОСТ Р 34.11-2012 256 бит)
[03] 0x801f 0x8000
[04] 0x2e1e 0x2000 1.2.643.2.2.20 (ГОСТ Р 34.10-94)
[05] 0x2e23 0x2000 1.2.643.2.2.19 (ГОСТ Р 34.10-2001)
[06] 0x2e49 0x2000 1.2.643.7.1.1.1.1 (ГОСТ Р 34.10-2012 256 бит)
[07] 0x2e3d 0x2000 1.2.643.7.1.1.1.2 (ГОСТ Р 34.10-2012 512 бит)
Cipher strengths: 256..256
Supported protocols: 0xa80:
    Transport Layer Security 1.0 client side
    Transport Layer Security 1.1 client side
    Transport Layer Security 1.2 client side
dwProtocolMask: 0x800a0aaa
Protocol version: 3.3
ClientHello: RecordLayer: TLS, Len: 88
Cipher Suites: (ff 85) (00 81)
93 bytes of handshake data sent
7 bytes of handshake data received
**** Error 0x80090304 returned by InitializeSecurityContext (2)
An error occurred in running the program.
WebClient.c:623:Error performing handshake.
Error number 0x80090304 (-2146893052).
Не удается установить связь с локальным администратором безопасности

Total: SYS: 0,016 sec USR: 0,000 sec UTC: 0,040 sec
[ErrorCode: 0x80090304]

c:\Program Files\Crypto Pro\CSP>

Отредактировано пользователем 16 мая 2019 г. 14:46:07(UTC)  | Причина: Не указана

Offline legioner052019  
#9 Оставлено : 16 мая 2019 г. 15:20:47(UTC)
legioner052019

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

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

Автор: Евгений Афанасьев Перейти к цитате
Попробуйте указать в алгоритмах вместо
protocol.setSSLProtocol("GostTLS");
protocol.setSslEnabledProtocols("GostTLS,GostTLSv1.1,GostTLSv1.2");
так
protocol.setSSLProtocol("TLSv1");
protocol.setSslEnabledProtocols("TLSv1,TLSv1.1,TLSv1.2");


Код:
protocol.setSSLProtocol("TLSv1")
        protocol.setSslEnabledProtocols("TLSv1,TLSv1.1,TLSv1.2")
//        protocol.ciphers = "TLS_CIPHER_2001,TLS_CIPHER_2012"


тестируем
Код:
c:\Program Files\Crypto Pro\CSP>csptest -tlsc -server 127.0.0.1 -port 8002 -nosave -exchange 3 -prot
o 6 -v
8 algorithms supported:
     Aglid  Class  OID
[00] 0x661e 0x6000 1.2.643.2.2.21 (ГОСТ 28147-89)
[01] 0x801e 0x8000 1.2.643.2.2.3 (ГОСТ Р 34.11/34.10-2001)
[02] 0x8021 0x8000 1.2.643.7.1.1.2.2 (ГОСТ Р 34.11-2012 256 бит)
[03] 0x801f 0x8000
[04] 0x2e1e 0x2000 1.2.643.2.2.20 (ГОСТ Р 34.10-94)
[05] 0x2e23 0x2000 1.2.643.2.2.19 (ГОСТ Р 34.10-2001)
[06] 0x2e49 0x2000 1.2.643.7.1.1.1.1 (ГОСТ Р 34.10-2012 256 бит)
[07] 0x2e3d 0x2000 1.2.643.7.1.1.1.2 (ГОСТ Р 34.10-2012 512 бит)
Cipher strengths: 256..256
Supported protocols: 0xa80:
    Transport Layer Security 1.0 client side
    Transport Layer Security 1.1 client side
    Transport Layer Security 1.2 client side
dwProtocolMask: 0x800a0aaa
Protocol version: 3.3
ClientHello: RecordLayer: TLS, Len: 88
Cipher Suites: (ff 85) (00 81)
93 bytes of handshake data sent
7 bytes of handshake data received
**** Error 0x80090304 returned by InitializeSecurityContext (2)
An error occurred in running the program.
WebClient.c:623:Error performing handshake.
Error number 0x80090304 (-2146893052).
Не удается установить связь с локальным администратором безопасности

Total: SYS: 0,000 sec USR: 0,000 sec UTC: 0,042 sec
[ErrorCode: 0x80090304]

Offline legioner052019  
#10 Оставлено : 17 мая 2019 г. 11:19:49(UTC)
legioner052019

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

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

По документации от jcp для tomcat9 How_to_set_gost_tls_tomcat9.docx указано что необходимо добавить
Код:
sslImplementationName=ru.CryptoPro.ssl.tomcat.jsse.JCPJSSEImplementation
для этого я положил готовую библиотеку JCPTomcatAdapter рядом с tomcat
в tomcat 9 некоторые атрибуты для конфигурации изменились см. https://tomcat.apache.or...9.0-doc/config/http.html
теперь код выглядит вот так
Код:
 protocol.setSslImplementationName("ru.CryptoPro.ssl.tomcat.jsse.JCPJSSEImplementation")
protocol.setAlgorithm("GostX509")
protocol.setTruststoreAlgorithm("GostX509")
protocol.setSSLEnabled(true);
protocol.setUseServerCipherSuitesOrder(true)

protocol.setKeystoreType("HDImageStore")
protocol.setKeystoreFile(keystore.absolutePath)
protocol.setKeystorePass("pass123")
protocol.setKeyAlias("server")
protocol.setKeystoreProvider("JCP")

protocol.setTruststoreType("CertStore");
protocol.setTruststoreFile(truststore.absolutePath)
protocol.setTruststorePass("pass123")
protocol.setTruststoreProvider("JCP")

protocol.setSSLProtocol("GostTLS")
protocol.setSslEnabledProtocols("TLSv1")
protocol.ciphers = "TLS_CIPHER_2001,TLS_CIPHER_2012"


сервер стартует но при обращении к нему выходит ошибка
Код:
java.lang.IllegalStateException: SSLContextImpl is not initialized
at sun.security.ssl.SSLContextImpl.engineCreateSSLEngine(SSLContextImpl.java:196) ~[na:1.8.0_211]
at javax.net.ssl.SSLContext.createSSLEngine(SSLContext.java:329) ~[na:1.8.0_211]
at ru.CryptoPro.ssl.tomcat.jsse.JCPSSLContext.createSSLEngine(JCPSSLContext.java:35) ~[JCPTomcatAdapter-1.0-SNAPSHOT.jar:na]
at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLEngine(AbstractJsseEndpoint.java:119) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.SecureNioChannel.processSNI(SecureNioChannel.java:329) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.SecureNioChannel.handshake(SecureNioChannel.java:175) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1392) ~[tomcat-embed-core-9.0.17.jar:9.0.17]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.17.jar:9.0.17]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_211]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_211]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.17.jar:9.0.17]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_211]


хотя при старте пишет что ru.CryptoPro.ssl.SSLLogger : SSLContextImpl initialized.

Код:
2019-05-17 14:16:17.907  INFO 11364 --- [           main] ru.ksbsoft.server.ApplicationKt          : Starting ApplicationKt on KSB-002 with PID 11364 (C:\dim4\kotlin\blz\server\target\classes started by ivanov-d in C:\dim4\kotlin\blz)
2019-05-17 14:16:17.910  INFO 11364 --- [           main] ru.ksbsoft.server.ApplicationKt          : No active profile set, falling back to default profiles: default
2019-05-17 14:16:19.600  INFO 11364 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'soapServiceConfig' of type [ru.ksbsoft.server.SoapServiceConfig$$EnhancerBySpringCGLIB$$4c1363d8] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-05-17 14:16:19.609  INFO 11364 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'tomcatConfig' of type [ru.ksbsoft.server.config.TomcatConfig$$EnhancerBySpringCGLIB$$4f4bdc9e] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-05-17 14:16:19.613  INFO 11364 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'tomcatTConfig' of type [ru.ksbsoft.server.config.TomcatTConfig$$EnhancerBySpringCGLIB$$84a06b3e] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-05-17 14:16:19.617  INFO 11364 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.ws.config.annotation.DelegatingWsConfiguration' of type [org.springframework.ws.config.annotation.DelegatingWsConfiguration$$EnhancerBySpringCGLIB$$974c885c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-05-17 14:16:19.658  INFO 11364 --- [           main] .w.s.a.s.AnnotationActionEndpointMapping : Supporting [WS-Addressing August 2004, WS-Addressing 1.0]
2019-05-17 14:16:20.181  INFO 11364 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8000 (http) 8002 (https)
2019-05-17 14:16:20.410  INFO 11364 --- [           main] ru.CryptoPro.ssl.SSLLogger               : SSLContextImpl init.
2019-05-17 14:16:20.413  INFO 11364 --- [           main] ru.CryptoPro.ssl.SSLLogger               : trustStore is :  No File Available, using empty keystore.
2019-05-17 14:16:20.414  INFO 11364 --- [           main] ru.CryptoPro.ssl.SSLLogger               : trustStore type is :  HDImageStore
2019-05-17 14:16:20.414  INFO 11364 --- [           main] ru.CryptoPro.ssl.SSLLogger               : trustStore provider is :  
2019-05-17 14:16:20.414  INFO 11364 --- [           main] ru.CryptoPro.ssl.SSLLogger               : init truststore
2019-05-17 14:16:20.971  INFO 11364 --- [           main] ru.CryptoPro.JCP.tools.JCPLogger         : Loading JCP 2.0.40035
2019-05-17 14:16:21.004  INFO 11364 --- [           main] ru.CryptoPro.JCP.tools.JCPLogger         : JCP loaded.
2019-05-17 14:16:21.061  INFO 11364 --- [           main] ru.CryptoPro.ssl.SSLLogger               : trigger seeding of SecureRandom
2019-05-17 14:16:21.061  INFO 11364 --- [           main] ru.CryptoPro.ssl.SSLLogger               : done seeding SecureRandom
2019-05-17 14:16:21.061  INFO 11364 --- [           main] ru.CryptoPro.ssl.SSLLogger               : SSLContextImpl initialized.
2019-05-17 14:16:21.279  INFO 11364 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2019-05-17 14:16:21.279  INFO 11364 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.17]
2019-05-17 14:16:21.440  INFO 11364 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2019-05-17 14:16:21.440  INFO 11364 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 3453 ms
2019-05-17 14:16:21.909  INFO 11364 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2019-05-17 14:16:22.103  INFO 11364 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8000 (http) 8002 (https) with context path ''
2019-05-17 14:16:22.105  INFO 11364 --- [           main] ru.ksbsoft.server.ApplicationKt          : Started ApplicationKt in 4.732 seconds (JVM running for 5.296)
2019-05-17 14:16:29.069 ERROR 11364 --- [nio-8002-exec-1] org.apache.tomcat.util.net.NioEndpoint   : Error running socket processor

Отредактировано пользователем 17 мая 2019 г. 14:17:59(UTC)  | Причина: Не указана

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