Atom Лента - Форум КриптоПро - Тема:Spring boot, HTTPS, TLS - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:Springboot,HTTPS,TLS-10:1Copyright 2024 Форум КриптоПро2024-03-29T03:51:54Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.rutraceanthttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=54893&name=traceanttraceanthttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=54893&name=traceantЕвгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений Афанасьевaleks_9https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=56625&name=aleks_9Евгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений Афанасьевaleks_9https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=56625&name=aleks_9Евгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений АфанасьевЕвгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений Афанасьевaleks_9https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=56625&name=aleks_9Евгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений Афанасьевaleks_9https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=56625&name=aleks_9YetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid116930:1Spring boot, HTTPS, TLS<table class="content postContainer_Alt" width="100%"><tr><td>Пример <br /><a rel="nofollow" href="https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=17504" title="https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=17504">https://www.cryptopro.ru...aspx?g=posts&t=17504</a><br /><br />Пример доступа к truststore JCSP (для JCP - ru.CryptoPro.JCP.JCP) на примере просмотра списка установленных сертификатов<br />/jre/bin/keytool -list -provider ru.CryptoPro.JCSP.JCSP -storetype CertStore -keystore ~/ca_store -v -storepass 123321<br /><br />PS: JRE/JDK должна содержать crypto pro java SCP / JCSP.</td></tr></table>2020-07-09T23:08:34+03:002020-07-09T23:08:34+03:00traceant<table class="content postContainer_Alt" width="100%"><tr><td>Пример <br /><a rel="nofollow" href="https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=17504" title="https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=17504">https://www.cryptopro.ru...aspx?g=posts&t=17504</a><br /><br />Пример доступа к truststore JCSP (для JCP - ru.CryptoPro.JCP.JCP) на примере просмотра списка установленных сертификатов<br />/jre/bin/keytool -list -provider ru.CryptoPro.JCSP.JCSP -storetype CertStore -keystore ~/ca_store -v -storepass 123321<br /><br />PS: JRE/JDK должна содержать crypto pro java SCP / JCSP.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid116864:1Spring boot, HTTPS, TLS<table class="content postContainer" width="100%"><tr><td>Здравствуйте.<br />Пока настроить не удалось. Причина примерно в следующем: здесь используются модули tomcat версии 9.0+, а в версии ~8.5 произошли существенные изменения в коде tomcat-библиотек, в результате использование стороннего TLS стало требовать дополнительных настроек, для tomcat 8.5+ был добавлен модуль JCPTomcatAdapter (там же есть код) в архиве дистрибутива JCP: в папке Doc/WebServerIntegration/tomcat9. Через настройки в application.yml запустить не удается (каждый раз используется встроенный TLS с его разбором параметров и настройкой), нужно пробовать создать коннектор программно с указанием всех необходимых настроек, как для tomcat или как в application.yml, + JSSEImplementation (код может быть взят из модуля JCPTomcatAdapter для tomcat9).</td></tr></table>2020-07-09T08:51:50+03:002020-07-09T08:51:50+03:00Евгений Афанасьев<table class="content postContainer" width="100%"><tr><td>Здравствуйте.<br />Пока настроить не удалось. Причина примерно в следующем: здесь используются модули tomcat версии 9.0+, а в версии ~8.5 произошли существенные изменения в коде tomcat-библиотек, в результате использование стороннего TLS стало требовать дополнительных настроек, для tomcat 8.5+ был добавлен модуль JCPTomcatAdapter (там же есть код) в архиве дистрибутива JCP: в папке Doc/WebServerIntegration/tomcat9. Через настройки в application.yml запустить не удается (каждый раз используется встроенный TLS с его разбором параметров и настройкой), нужно пробовать создать коннектор программно с указанием всех необходимых настроек, как для tomcat или как в application.yml, + JSSEImplementation (код может быть взят из модуля JCPTomcatAdapter для tomcat9).</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid116731:1Spring boot, HTTPS, TLS<table class="content postContainer_Alt" width="100%"><tr><td>Спасибо, вот ссылка на <a rel="nofollow" href="https://yadi.sk/d/u_HIS0WOQw2l1w" title="https://yadi.sk/d/u_HIS0WOQw2l1w">тестовый проект SpringBoot</a>:<br />Используется Java 11, Maven 3.<br />Для работы нужно сначала запустить с профайлом <strong>install-cp</strong>.<br />Затем собрать с профайлом <strong>default</strong>.<br />После этого можно запускать.</td></tr></table>2020-07-06T13:53:53+03:002020-07-06T13:53:53+03:00aleks_9<table class="content postContainer_Alt" width="100%"><tr><td>Спасибо, вот ссылка на <a rel="nofollow" href="https://yadi.sk/d/u_HIS0WOQw2l1w" title="https://yadi.sk/d/u_HIS0WOQw2l1w">тестовый проект SpringBoot</a>:<br />Используется Java 11, Maven 3.<br />Для работы нужно сначала запустить с профайлом <strong>install-cp</strong>.<br />Затем собрать с профайлом <strong>default</strong>.<br />После этого можно запускать.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid116711:1Spring boot, HTTPS, TLS<table class="content postContainer" width="100%"><tr><td>Если предоставите маленький завершенный проект, в котором можно проверить настройку, постараюсь помочь. </td></tr></table>2020-07-05T17:22:25+03:002020-07-05T17:22:25+03:00Евгений Афанасьев<table class="content postContainer" width="100%"><tr><td>Если предоставите маленький завершенный проект, в котором можно проверить настройку, постараюсь помочь. </td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid116694:1Spring boot, HTTPS, TLS<table class="content postContainer_Alt" width="100%"><tr><td>Спасибо за уделённое время, но так и не смог разобраться.</td></tr></table>2020-07-04T16:16:17+03:002020-07-04T16:16:17+03:00aleks_9<table class="content postContainer_Alt" width="100%"><tr><td>Спасибо за уделённое время, но так и не смог разобраться.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid116693:1Spring boot, HTTPS, TLS<table class="content postContainer" width="100%"><tr><td>Вот тут <a rel="nofollow" href="https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/reference/html/howto.html#howto-enable-multiple-connectors-in-tomcat" title="https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/reference/html/howto.html#howto-enable-multiple-connectors-in-tomcat">https://docs.spring.io/s...ple-connectors-in-tomcat</a> и <a rel="nofollow" href="https://www.thomasvitale.com/https-spring-boot-ssl-certificate/" title="https://www.thomasvitale.com/https-spring-boot-ssl-certificate/">https://www.thomasvitale...ng-boot-ssl-certificate/</a> создается программно конфигурация, настройки очень похожи на настройки коннектора из <a rel="nofollow" href="https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/70/6/ispolzovnie-kriptopro-jtls-v-apache-tomcat" title="https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/70/6/ispolzovnie-kriptopro-jtls-v-apache-tomcat">https://support.cryptopr...pro-jtls-v-apache-tomcat</a> (подробное описание есть также в папках Doc/WebServerIntegration/tomcat и Doc/WebServerIntegration/tomcat9 в дистрибутиве JCP).</td></tr></table>2020-07-04T09:42:18+03:002020-07-04T09:42:18+03:00Евгений Афанасьев<table class="content postContainer" width="100%"><tr><td>Вот тут <a rel="nofollow" href="https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/reference/html/howto.html#howto-enable-multiple-connectors-in-tomcat" title="https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/reference/html/howto.html#howto-enable-multiple-connectors-in-tomcat">https://docs.spring.io/s...ple-connectors-in-tomcat</a> и <a rel="nofollow" href="https://www.thomasvitale.com/https-spring-boot-ssl-certificate/" title="https://www.thomasvitale.com/https-spring-boot-ssl-certificate/">https://www.thomasvitale...ng-boot-ssl-certificate/</a> создается программно конфигурация, настройки очень похожи на настройки коннектора из <a rel="nofollow" href="https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/70/6/ispolzovnie-kriptopro-jtls-v-apache-tomcat" title="https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/70/6/ispolzovnie-kriptopro-jtls-v-apache-tomcat">https://support.cryptopr...pro-jtls-v-apache-tomcat</a> (подробное описание есть также в папках Doc/WebServerIntegration/tomcat и Doc/WebServerIntegration/tomcat9 в дистрибутиве JCP).</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid116686:1Spring boot, HTTPS, TLS<table class="content postContainer_Alt" width="100%"><tr><td>В стеке ошибки нет CryptoPro. По-прежнему используется сторонняя реализация TLS, которой ГОСТ неизвестен. Где-то надо указать провайдер "JTLS" в качестве TLS-провайдера.</td></tr></table>2020-07-03T17:00:59+03:002020-07-03T17:00:59+03:00Евгений Афанасьев<table class="content postContainer_Alt" width="100%"><tr><td>В стеке ошибки нет CryptoPro. По-прежнему используется сторонняя реализация TLS, которой ГОСТ неизвестен. Где-то надо указать провайдер "JTLS" в качестве TLS-провайдера.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid116683:1Spring boot, HTTPS, TLS<table class="content postContainer" width="100%"><tr><td>Поставил в конфигурации:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">enabled-protocols: GostTLSv1.2,GostTLSv1.1,GostTLS,TLSv1.2,TLSv1.1,TLSv1</code></pre>
</div></div><br />Пишет <em>java.lang.IllegalArgumentException: Unsupported protocolGostTLSv1.2</em><br /><br />Добавляю логи, для ru.CryptoPro.ssl.SSLLogger.level=FINE<br />[attach]8815[/attach]</td></tr></table>2020-07-03T15:29:20+03:002020-07-03T15:29:20+03:00aleks_9<table class="content postContainer" width="100%"><tr><td>Поставил в конфигурации:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">enabled-protocols: GostTLSv1.2,GostTLSv1.1,GostTLS,TLSv1.2,TLSv1.1,TLSv1</code></pre>
</div></div><br />Пишет <em>java.lang.IllegalArgumentException: Unsupported protocolGostTLSv1.2</em><br /><br />Добавляю логи, для ru.CryptoPro.ssl.SSLLogger.level=FINE<br />[attach]8815[/attach]</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid116620:1Spring boot, HTTPS, TLS<table class="content postContainer_Alt" width="100%"><tr><td>2. Я имел в виду:<br />Проверка подлинности сервера (1.3.6.1.5.5.7.3.1)<br />Это расширение должно быть в серверном сертификате.<br />3. В логе нет ни слова про CryptoPro, в стеке ошибки - тоже.<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-java">
javax.net.ssl.SSLHandshakeException: no cipher suites in common
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:308)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:255)
at java.base/sun.security.ssl.ServerHello$T12ServerHelloProducer.chooseCipherSuite(ServerHello.java:461)
at java.base/sun.security.ssl.ServerHello$T12ServerHelloProducer.produce(ServerHello.java:294)
at java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:436)
at java.base/sun.security.ssl.ClientHello$T12ClientHelloConsumer.consume(ClientHello.java:1101)
at java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.onClientHello(ClientHello.java:851)
at java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.consume(ClientHello.java:810)
at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:450)
at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1078)
at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1065)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:1012)
</code></pre>
</div></div><br />SSL-реализация из java, не cpSSL (пакет ru.CryptoPro.ssl). Возможно, где-то надо указать еще и провайдер - "JTLS", или все-таки как-то обозначить точно протокол - "GostTLS", так как имя протокола - уникальное, в отличие, например, от "TLSv1".<br /><br />P.S.<br /><div class="quote"><span class="quotetitle">Цитата:</span><blockquote><br />нашёл более простой способ вывода ssl логов без настройки в файле logging.properties<br />Для этого нужно при запуске программы добавить параметр: -Djavax.net.debug=ssl,handshake,trustmanager<br /></div></div><br />Да, т.к. работала реализация Java JSSE провайдера, а не cpSSL.</td></tr></table>2020-06-30T11:51:07+03:002020-06-30T11:51:07+03:00Евгений Афанасьев<table class="content postContainer_Alt" width="100%"><tr><td>2. Я имел в виду:<br />Проверка подлинности сервера (1.3.6.1.5.5.7.3.1)<br />Это расширение должно быть в серверном сертификате.<br />3. В логе нет ни слова про CryptoPro, в стеке ошибки - тоже.<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-java">
javax.net.ssl.SSLHandshakeException: no cipher suites in common
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:308)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:255)
at java.base/sun.security.ssl.ServerHello$T12ServerHelloProducer.chooseCipherSuite(ServerHello.java:461)
at java.base/sun.security.ssl.ServerHello$T12ServerHelloProducer.produce(ServerHello.java:294)
at java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:436)
at java.base/sun.security.ssl.ClientHello$T12ClientHelloConsumer.consume(ClientHello.java:1101)
at java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.onClientHello(ClientHello.java:851)
at java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.consume(ClientHello.java:810)
at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:450)
at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1078)
at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(SSLEngineImpl.java:1065)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(SSLEngineImpl.java:1012)
</code></pre>
</div></div><br />SSL-реализация из java, не cpSSL (пакет ru.CryptoPro.ssl). Возможно, где-то надо указать еще и провайдер - "JTLS", или все-таки как-то обозначить точно протокол - "GostTLS", так как имя протокола - уникальное, в отличие, например, от "TLSv1".<br /><br />P.S.<br /><div class="quote"><span class="quotetitle">Цитата:</span><blockquote><br />нашёл более простой способ вывода ssl логов без настройки в файле logging.properties<br />Для этого нужно при запуске программы добавить параметр: -Djavax.net.debug=ssl,handshake,trustmanager<br /></div></div><br />Да, т.к. работала реализация Java JSSE провайдера, а не cpSSL.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid116616:1Spring boot, HTTPS, TLS<table class="content postContainer" width="100%"><tr><td>1. Система Windows<br />Контейнер с alias'ом lp-11cb2070-f102-41c8-8a3a-6bc8f87eb66a и паролем 12345678 типа HDImageStore лежит в папке<br />C:\Users\user\AppData\Local\Crypto Pro<br />В Chrome установлен плагин КриптоПро, через который можно подписывать, так что контейнер работает.<br /><br />Попробовал убрать key-alias - результат тот же<br /><br />2. Имеется в виду в свойствах сертификата контейнера поле "Политика сертификата"? Если она, то у меня такая:<br />[1]Политика сертификата:<br /> Идентификатор политики=Класс средства ЭП КС1<br />[2]Политика сертификата:<br /> Идентификатор политики=Класс средства ЭП КС2<br /><br />3. На попытки добавить GostTLSv1.2,GostTLSv1.1,GostTLSv1 выходит ошибка<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">java.lang.IllegalArgumentException: Unsupported protocolGostTLSv1.2</code></pre>
</div></div><br /><br />Попробовал сконфигурировать логи, пока никаких изменений выводе. Всё та же ошибка "no cipher suites in common".<br /><br />Прилагаю лог. [attach]8804[/attach]<br /><br />К слову, нашёл более простой способ вывода ssl логов без настройки в файле logging.properties<br />Для этого нужно при запуске программы добавить параметр: <strong>-Djavax.net.debug=ssl,handshake,trustmanager</strong></td></tr></table>2020-06-30T11:07:49+03:002020-06-30T11:07:49+03:00aleks_9<table class="content postContainer" width="100%"><tr><td>1. Система Windows<br />Контейнер с alias'ом lp-11cb2070-f102-41c8-8a3a-6bc8f87eb66a и паролем 12345678 типа HDImageStore лежит в папке<br />C:\Users\user\AppData\Local\Crypto Pro<br />В Chrome установлен плагин КриптоПро, через который можно подписывать, так что контейнер работает.<br /><br />Попробовал убрать key-alias - результат тот же<br /><br />2. Имеется в виду в свойствах сертификата контейнера поле "Политика сертификата"? Если она, то у меня такая:<br />[1]Политика сертификата:<br /> Идентификатор политики=Класс средства ЭП КС1<br />[2]Политика сертификата:<br /> Идентификатор политики=Класс средства ЭП КС2<br /><br />3. На попытки добавить GostTLSv1.2,GostTLSv1.1,GostTLSv1 выходит ошибка<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">java.lang.IllegalArgumentException: Unsupported protocolGostTLSv1.2</code></pre>
</div></div><br /><br />Попробовал сконфигурировать логи, пока никаких изменений выводе. Всё та же ошибка "no cipher suites in common".<br /><br />Прилагаю лог. [attach]8804[/attach]<br /><br />К слову, нашёл более простой способ вывода ssl логов без настройки в файле logging.properties<br />Для этого нужно при запуске программы добавить параметр: <strong>-Djavax.net.debug=ssl,handshake,trustmanager</strong></td></tr></table>