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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline MaxAlex  
#1 Оставлено : 15 июля 2020 г. 15:37:44(UTC)
MaxAlex

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

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

Сказал(а) «Спасибо»: 7 раз
Здравствуйте, настраиваю на Spring Boot + JCP (jcp-2.0.40035)
Выставил согласно документации настроки, но пока что у меня не получается настроить односторонюю аутентификацию. Я точно что-то упустил :) Можете подсказать, что не так?
Ошибка:
INFO [main] [o.a.c.h.Http11NioProtocol] [] [] - Initializing ProtocolHandler ["https-jsse-nio-8443"]
INFO [main] [o.a.c.h.Http11NioProtocol] [] [] - Starting ProtocolHandler ["https-jsse-nio-8443"]
INFO [main] [r.C.ssl.SSLLogger] [] [] - SSLContextImpl init.
INFO [main] [r.C.ssl.SSLLogger] [] [] - trustStore is : No File Available, using empty keystore.
INFO [main] [r.C.ssl.SSLLogger] [] [] - trustStore type is : HDImageStore
INFO [main] [r.C.ssl.SSLLogger] [] [] - trustStore provider is :
INFO [main] [r.C.ssl.SSLLogger] [] [] - init truststore
INFO [main] [r.C.J.t.JCPLogger] [] [] - Loading JCP 2.0.40035
INFO [main] [r.C.J.t.JCPLogger] [] [] - JCP loaded.
INFO [main] [r.C.ssl.SSLLogger] [] [] - trigger seeding of SecureRandom
INFO [main] [r.C.ssl.SSLLogger] [] [] - done seeding SecureRandom
INFO [main] [r.C.ssl.SSLLogger] [] [] - SSLContextImpl initialized.
INFO [main] [r.C.ssl.SSLLogger] [] [] - %% adding as private keys %%
INFO [main] [r.C.ssl.SSLLogger] [] [] - %% adding as private keys %%
INFO [main] [r.C.ssl.SSLLogger] [] [] - trustStore is : No File Available, using empty keystore.
INFO [main] [r.C.ssl.SSLLogger] [] [] - trustStore type is : HDImageStore
INFO [main] [r.C.ssl.SSLLogger] [] [] - trustStore provider is :
INFO [main] [r.C.ssl.SSLLogger] [] [] - init truststore
INFO [main] [o.a.t.u.n.NioSelectorPool] [] [] - Using a shared selector for servlet write/read
INFO [main] [o.s.b.c.e.t.TomcatEmbeddedServletContainer] [] [] - Tomcat started on port(s): 8443 (https)
INFO [main] [r.r.e.d.f.Application] [] [] - Started Application in 34.473 seconds (JVM running for 35.517)
.....

затем делаю запрос: csptest -tlsc -port 8443 -v -file index.jsp -nocheck

020-07-15 12:51:35,526 ERROR [https-jsse-nio-8443-exec-1] [o.a.t.u.n.NioEndpoint] [] [] -
java.lang.IllegalArgumentException: Unsupported ciphersuite TLS_CIPHER_2012
at sun.security.ssl.CipherSuite.valueOf(CipherSuite.java:228)
at sun.security.ssl.CipherSuiteList.<init>(CipherSuiteList.java:79)
at sun.security.ssl.SSLEngineImpl.setEnabledCipherSuites(SSLEngineImpl.java:2047)
at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLEngine(AbstractJsseEndpoint.java:177)
at org.apache.tomcat.util.net.SecureNioChannel.processSNI(SecureNioChannel.java:331)
at org.apache.tomcat.util.net.SecureNioChannel.handshake(SecureNioChannel.java:175)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1436)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

Выставленные настройки для Tomcat(Apache Tomcat/8.5.27):

Код:
public void customizeTomcat(TomcatEmbeddedServletContainerFactory factory) {
           factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
               @Override
               public void customize(Connector connector) {                
                   connector.setScheme("https");
                   connector.setPort(8443);
                   connector.setSecure(true);
                   connector.setEnableLookups(false);
                   Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler();
                   protocol.setSslImplementationName("ru.CryptoPro.ssl.tomcat.jsse.JCPJSSEImplementation");
                   protocol.setAlgorithm("GostX509");
                   protocol.setTruststoreAlgorithm("GostX509");
                   protocol.setKeystoreType("HDImageStore");
                   protocol.setKeystoreFile("/root/certStore");
                   protocol.setKeystorePass("123");
                   protocol.setKeystoreProvider("JCP");
                   protocol.setSSLCipherSuite("TLS_CIPHER_2012");
                   protocol.setSSLProtocol("GostTLS");
                   protocol.setSslEnabledProtocols("TLSv1");
                   protocol.setDisableUploadTimeout(true);
                   protocol.setSSLEnabled(true);

Спасибо

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

Offline Евгений Афанасьев  
#2 Оставлено : 16 июля 2020 г. 9:00:02(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Здравствуйте.
Здесь было обсуждение - https://www.cryptopro.ru...aspx?g=posts&t=18274
Решения пока нет, приложите по возможности простой проект-пример.
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
MaxAlex оставлено 07.08.2020(UTC)
Offline MaxAlex  
#3 Оставлено : 20 июля 2020 г. 5:55:14(UTC)
MaxAlex

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

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

Сказал(а) «Спасибо»: 7 раз
Спасибо.
собрал отдельный проект, на springBoot 1.5.19. Запустил, работает. Вернул на 1.5.10. сейчас также все запапускается. Похоже, что где-то напутал с библиотеками.

Подскажите пожалуйста, сейчас обрывается соединение при запросе страниц с клиентской части (из IE), если же не отдается с сервера ответ, то соединение работает.

Если я отдаю ч.-л. от сервера к клиенту, то соединение обрывается с ошибкой на клиенте в сплывающем окне.
На сервере только
INFO 27179 --- [nio-3443-exec-8] ru.CryptoPro.ssl.SSLLogger : Using SSLEngineImpl.
INFO 27179 --- [nio-3443-exec-8] ru.CryptoPro.ssl.SSLLogger : %% Chosen server alias: store

При переходе с клиента на https://cryptopro.ru:4444/test/tls-cli.asp получаб сраницу. Все работает

Отредактировано пользователем 20 июля 2020 г. 5:55:58(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#4 Оставлено : 20 июля 2020 г. 10:31:41(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Нужно включить логирование: https://support.cryptopr...lirovnija-kriptopro-jtls
SSLLogger с уровнем ALL

Возможно, сервер шлет список корневых, которым доверяет, и издателя клиентского сертификата нет в их числе.

Отредактировано пользователем 20 июля 2020 г. 10:32:13(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
MaxAlex оставлено 07.08.2020(UTC)
Offline MaxAlex  
#5 Оставлено : 20 июля 2020 г. 12:29:22(UTC)
MaxAlex

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

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

Сказал(а) «Спасибо»: 7 раз
Спасибо, включил логирование
log_20_07_2020.txt (15kb) загружен 4 раз(а).
Offline Евгений Афанасьев  
#6 Оставлено : 20 июля 2020 г. 17:42:23(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Сервер шлет список доверенных:
Код:

Cert Types: Type-239, Type-238, Type-22, Type-21
Cert Authorities:
<CN=CRYPTO-PRO Test Center 2, O=CRYPTO-PRO LLC, L=Moscow, C=RU, EMAILADDRESS=support@cryptopro.ru>
<CN=store, O=CryptoPro, C=RU>

То есть всего два: "CN=CRYPTO-PRO Test Center 2, O=CRYPTO-PRO LLC, L=Moscow, C=RU, EMAILADDRESS=support@cryptopro.ru" и "CN=store, O=CryptoPro, C=RU". Клиентский сертификат должен быть выпущен этими центрами. Но клиент отвечает и сервер получает:
Код:

FINE: *** ServerHelloDone
2020-07-20 11:03:02,676 INFO [https-jsse-nio-8443-exec-3] [r.C.ssl.SSLLogger] [] [] - Using SSLEngineImpl.
2020-07-20 11:03:02,681 INFO [https-jsse-nio-8443-exec-3] [r.C.ssl.SSLLogger] [] [] - %% Chosen server alias: store
2020-07-20 11:03:02,688 ERROR [https-jsse-nio-8443-exec-2] [r.C.ssl.SSLLogger] [] [] - https-jsse-nio-8443-exec-2, fatal error: 42: null cert chain
javax.net.ssl.SSLHandshakeException: null cert chain

То есть клиент не смог найти ничего подходящего и ничего не ответил серверу (выслал null).
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
MaxAlex оставлено 07.08.2020(UTC)
Offline MaxAlex  
#7 Оставлено : 21 июля 2020 г. 9:42:34(UTC)
MaxAlex

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

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

Сказал(а) «Спасибо»: 7 раз
Screenshot from 2020-07-21 09-27-29.png (429kb) загружен 6 раз(а).
Спасибо
Можете подсказать по сертификатам?
Сертификаты делал следующим образом:
1. Серверный подписывал на тестовом сайте https://www.cryptopro.ru/certsrv/ по сгенерированному ключу (в BASE64 в JCP - ControlPane.sh). Далее скачал цепочку сертификатов и установил в контейнер JCP, добавил в доверенный скаченный с сайта сертификат (CRYPTO-PRO Test Center 2)

2. Клиенский делал 2мя способами
а. сгенерировал ключ в BASE64 в JCP и далее по ссылке https://www.cryptopro.ru/certsrv/, получил сертификат и установил в CSP(Personal) + (CRYPTO-PRO Test Center 2) добавил в CSP(trusted)
б. сгенерировал клиентский сразу по ссылке https://www.cryptopro.ru/certsrv/, получил сертификат и установил в CSP(Personal) + (CRYPTO-PRO Test Center 2) добавил в CSP(trusted)
3 Добавил в хранилище сертификатов JCP сертификат (CRYPTO-PRO Test Center 2)

Можете подсказать что не так?

Отредактировано пользователем 21 июля 2020 г. 9:44:42(UTC)  | Причина: Не указана

Offline MaxAlex  
#8 Оставлено : 22 июля 2020 г. 9:44:52(UTC)
MaxAlex

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

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

Сказал(а) «Спасибо»: 7 раз
Подскажите а чем может быть вызвана причина такого поведения IE? Может быть нужно выставлять доп. настройки для IE?
установил сборку chromium крипто Про с сайта https://www.cryptopro.ru/products/chromium-gost и у меня все заработало
Offline Евгений Афанасьев  
#9 Оставлено : 22 июля 2020 г. 10:39:09(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Автор: MaxAlex Перейти к цитате
Screenshot from 2020-07-21 09-27-29.png (429kb) загружен 6 раз(а).
Спасибо
Можете подсказать по сертификатам?
Сертификаты делал следующим образом:
1. Серверный подписывал на тестовом сайте https://www.cryptopro.ru/certsrv/ по сгенерированному ключу (в BASE64 в JCP - ControlPane.sh). Далее скачал цепочку сертификатов и установил в контейнер JCP, добавил в доверенный скаченный с сайта сертификат (CRYPTO-PRO Test Center 2)

2. Клиенский делал 2мя способами
а. сгенерировал ключ в BASE64 в JCP и далее по ссылке https://www.cryptopro.ru/certsrv/, получил сертификат и установил в CSP(Personal) + (CRYPTO-PRO Test Center 2) добавил в CSP(trusted)
б. сгенерировал клиентский сразу по ссылке https://www.cryptopro.ru/certsrv/, получил сертификат и установил в CSP(Personal) + (CRYPTO-PRO Test Center 2) добавил в CSP(trusted)
3 Добавил в хранилище сертификатов JCP сертификат (CRYPTO-PRO Test Center 2)

Можете подсказать что не так?


Проблема где-то в п.2, т.к. именно браузер не выбирает нужный клиентский сертификат, когда сервер шлет список доверенных имен. Либо браузер не имеет доступа к данному сертификату (не тот пользователь), либо, допустим, сертификат клиента не содержит нужных расширений: аутентификация клиента, использование ключа, просрочен и т.п. и браузер видит, но отбраковывает сертификат. Можно попробовать с помощью csptest:
> csptest -tlsc -server <your-host-name> -port <your-host-port> -get / -v -v

Отредактировано пользователем 22 июля 2020 г. 10:40:39(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
MaxAlex оставлено 07.08.2020(UTC)
Offline MaxAlex  
#10 Оставлено : 12 августа 2020 г. 14:19:18(UTC)
MaxAlex

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

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

Сказал(а) «Спасибо»: 7 раз
Здравствуйте, подскажите, есть ли возможность изменить настройки TLS Settings без запуска JCP (консоли), это необходимо для снятия флажков проверки цепочек сертификата? На сервере Centos без GUI.
Можно например это сделать через командную строку с параметрами?
По типу:
"/usr/lib/jvm/jdk1.8.0_261/jre/bin/java ru.CryptoPro.JCP.Util.SetPrefs -system -node ru/CryptoPro/ssl/util -key Enable_revocation_default -value false"

У меня при запуске этой команды ничего не меняется. Screenshot from 2020-08-12 14-17-48.png (19kb) загружен 7 раз(а).

Подскажите может быть можно перенести конфиг с локальной машины на сервер? Где хранятся эти настройки?

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

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