logo
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline Despair  
#1 Оставлено : 8 августа 2018 г. 5:51:19(UTC)
Despair

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

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

Здравствуйте!
Есть у нас проект, написаный на Java, который через шифрованые сети подключается к удаленному серверу для сбора данных с него. Несколько месяцев работало все нормально, но недавно случился форс-мажор и пришлось переустановить JCP вместе с явой, после чего начались проблемы.
Программа подключается к серверу с использованием двухсторонней аутентификации через сертификаты. После повторной установки CryptoPro JCP была введена лицензия, сделаны те же настройки что и делались ранее, импортировано старое хранилище сертификатов. Однако при запуске программы на определенном моменте возникает отказ в соединении, который у нас побороть никак не получается
Собственно ошибка в которую упираемся написана в описании темы
Цитата:
org.springframework.web.client.HttpClientErrorException: 403 Forbidden

детальный лог прикреплю во вложении.
Пробовали в панели управления JCP ставить галку на пункте Check revocation status of the certificate chain - ситуация повторяется, но при этом возникает еще одна ошибка немногим ранее
Цитата:
javax.net.ssl.SSLHandshakeException: Received fatal alert: HANDSHAKE_FAILURE

лог так же прикреплю вторым файлом

Прошу помощи, ибо сами уже зашли в тупик
log1.txt (20kb) загружен 2 раз(а). log2.txt (32kb) загружен 4 раз(а).

Отредактировано пользователем 8 августа 2018 г. 5:51:53(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 8 августа 2018 г. 8:28:30(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 319 раз в 316 постах
Здравствуйте.
1. Если у вас ранее была версия jcp 1.0.54, то она существенно отличается от 2.0, т.к. в последнюю, например, добавлена проверка цепочки сертификатов другой стороны. Проверку, например, можно отключить в "Настройках сервера" в панели JCP.
2. Логи не все, сложно сказать, отчего не проверяется цепочка: возможно, нет доступа к CRL, заданному в CRLDP в сертификате сервера или промежуточном сертификате, или CRLDP нет вообще. Если использовать проверку цепочки, то желательно включить полное логирование с уровнем ALL для SSLLogger и FINE для JCPLogger (см. https://support.cryptopr...nlirovnija-kriptopro-jcp и https://support.cryptopr...irovnija-kriptopro-jtls) и приложить логи.
3. В томкат, начиная с версии (примерно) 8.5, произошли изменения в организации коннектора: для него требуется адаптер (он есть в дистрибутиве, в папке Doc\WebServerIntegration\Tomcat9).
Техническую поддержку оказываем тут
Наша база знаний
Offline Despair  
#3 Оставлено : 8 августа 2018 г. 10:48:10(UTC)
Despair

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

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

Нет, проект у нас был изначально построен на JCP 2.0, и как раз проверка цепочки сертификатов (это ведь пункт как раз Check revocation status of the certificate chain?) пробовали отключить, первый лог был с отключенной проверкой, второй с включенной.
Сейчас включили SSLLogging, и вывалилась ошибка собственно
Цитата:
2018-08-08 15:08:50.106 DEBUG 2420 --- [ main] ru.CryptoPro.ssl.SSLLogger : 19136019@2018-03-23-ООО Наша организация -1 : private key test failed

Сдается мне что не с проста это, и проблема где-то в этом кроется...
Лог во вложении
log3.txt (141kb) загружен 3 раз(а).
Offline Despair  
#4 Оставлено : 8 августа 2018 г. 12:07:47(UTC)
Despair

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

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

Появилось еще одно уточнение, в панели управления JCP при открытии хранилища и сертификатов можно сделать Build сертификата, так вот при выборе сертификата из хранилища контейнеров, после указания пути по которому они расположены возникает ошибка
1.jpg (88kb) загружен 8 раз(а).
Offline Despair  
#5 Оставлено : 8 августа 2018 г. 12:42:26(UTC)
Despair

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

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

Судя по всему ошибка кроется где-то в CryptoPro CSP, ибо когда я пытаюсь зайти на тестовый стенд, предоставленный заказчиком, через браузер - плагин, который должен предлагать авторизоваться по сертификату, выдает предупреждение о том, что сертификаты в системе не установлены или срок действия всех сертификатов истек, а серт действителен до июня 2019 года
Offline Евгений Афанасьев  
#6 Оставлено : 8 августа 2018 г. 13:39:43(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 319 раз в 316 постах
Автор: Despair Перейти к цитате
Нет, проект у нас был изначально построен на JCP 2.0, и как раз проверка цепочки сертификатов (это ведь пункт как раз Check revocation status of the certificate chain?) пробовали отключить, первый лог был с отключенной проверкой, второй с включенной.
Сейчас включили SSLLogging, и вывалилась ошибка собственно
Цитата:
2018-08-08 15:08:50.106 DEBUG 2420 --- [ main] ru.CryptoPro.ssl.SSLLogger : 19136019@2018-03-23-ООО Наша организация -1 : private key test failed

Сдается мне что не с проста это, и проблема где-то в этом кроется...
Лог во вложении
log3.txt (141kb) загружен 3 раз(а).

Нужно отключить предупреждения о сроке ГОСТ 2001 - см. https://support.cryptopr...ekhod-n-gost-r-3410-2012

Техническую поддержку оказываем тут
Наша база знаний
Offline Despair  
#7 Оставлено : 9 августа 2018 г. 6:23:32(UTC)
Despair

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

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

Автор: Евгений Афанасьев Перейти к цитате
Автор: Despair Перейти к цитате
Нет, проект у нас был изначально построен на JCP 2.0, и как раз проверка цепочки сертификатов (это ведь пункт как раз Check revocation status of the certificate chain?) пробовали отключить, первый лог был с отключенной проверкой, второй с включенной.
Сейчас включили SSLLogging, и вывалилась ошибка собственно
Цитата:
2018-08-08 15:08:50.106 DEBUG 2420 --- [ main] ru.CryptoPro.ssl.SSLLogger : 19136019@2018-03-23-ООО Наша организация -1 : private key test failed

Сдается мне что не с проста это, и проблема где-то в этом кроется...
Лог во вложении
log3.txt (141kb) загружен 3 раз(а).

Нужно отключить предупреждения о сроке ГОСТ 2001 - см. https://support.cryptopr...ekhod-n-gost-r-3410-2012



оно уже отключено.
Есть у меня подозрение что косяк таки не в JCP, а в CSP, ибо нам дали тестовую среду с веб-доступом и входом по сертификату, и при попытке авторизации через браузер плагин (который, на сколько я понимаю, работает все таки с CSP) вываливает ошибку "Сертификаты не установлены или срок действия всех сертификатов истек.", хотя при попытке проверить сертификаты через панель CSP он их прекрасно видит, и тест проходит успешно. Если же все те же действия провести на другом компе (с установкой тех же плагинов), на котором есть CSP но нет JCP - ошибки нет, и всплывающее окно спокойно предлагает выбрать сертификат.

Отредактировано пользователем 9 августа 2018 г. 6:26:47(UTC)  | Причина: Дополнение

Offline Евгений Афанасьев  
#8 Оставлено : 9 августа 2018 г. 11:15:43(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 319 раз в 316 постах
По логу 3 можно только сказать, что происходит ошибка при попытке отобразить окно с предупреждением о ГОСТ 2001 (вероятно, нет графической оболочки) в ходе формирования cert_verify:
Код:

java.awt.HeadlessException: null
	at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204) ~[na:1.8.0_181]
	at java.awt.Window.<init>(Window.java:536) ~[na:1.8.0_181]
	at java.awt.Frame.<init>(Frame.java:420) ~[na:1.8.0_181]
	at java.awt.Frame.<init>(Frame.java:385) ~[na:1.8.0_181]
	at javax.swing.JFrame.<init>(JFrame.java:189) ~[na:1.8.0_181]
	at ru.CryptoPro.JCP.tools.N.<init>(Unknown Source) ~[JCP.jar:39014]
	at ru.CryptoPro.JCP.tools.Gost2001Warning.warn(Unknown Source) ~[JCP.jar:39014]
	at ru.CryptoPro.JCP.Sign.c.engineInitSign(Unknown Source) ~[JCP.jar:39014]
	at java.security.Signature.initSign(Signature.java:530) ~[na:1.8.0_181]

Ошибка устраняется отключением предупреждений согласно инструкции.
По поводу ошибки при построении цепочки сертификатов - в хранилище доверенных есть промежуточные сертификаты для цепочки, если цепочка состоит из более чем двух сертификатов (клиентский - корневой)?

Отредактировано пользователем 9 августа 2018 г. 11:17:15(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline Despair  
#9 Оставлено : 9 августа 2018 г. 12:24:54(UTC)
Despair

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

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

В общем и целом я бы сказал что проблема, судя по всему, не только и даже не столько в JCP, попытки локализовать "виновника торжества" все четче указывают в целом на Криптопро CSP, ибо при авторизации через сертификат даже на тестовом стенде, где JCP не используется и соответственно программа туда не ходит, плагин выдает ошибку описанную выше. Из чего можно сделать вывод что плагин не знает о том что в CSP установлены сертификаты и не может их увидеть. Разумеется то же самое происходит и при попытке залезть на удаленный сервер без графического интерфейса, CSP так же не передает ключ, необходимый для авторизации
Offline Despair  
#10 Оставлено : 9 августа 2018 г. 12:26:08(UTC)
Despair

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

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

Автор: Евгений Афанасьев Перейти к цитате

По поводу ошибки при построении цепочки сертификатов - в хранилище доверенных есть промежуточные сертификаты для цепочки, если цепочка состоит из более чем двух сертификатов (клиентский - корневой)?

нет, цепочка состоит как раз только из клиентского и корневого сертификатов, так что этот момент исключен
Offline Despair  
#11 Оставлено : 9 августа 2018 г. 12:45:34(UTC)
Despair

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

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

Автор: Despair Перейти к цитате
при авторизации через сертификат даже на тестовом стенде, где JCP не используется и соответственно программа туда не ходит, плагин выдает ошибку описанную выше


эта проблема решилась, при чем весьма внезапным способом. Думаю дальше, может сейчас и остальное решится
Offline Despair  
#12 Оставлено : 10 августа 2018 г. 5:44:17(UTC)
Despair

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

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

Подскажите, я же правильно понял, если отключить пункт Check revocation status of the certificate chain в настройках TLS, панели управления JCP, двухсторонняя аутентификация все равно ведь будет работать?
Offline Евгений Афанасьев  
#13 Оставлено : 10 августа 2018 г. 6:05:01(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 319 раз в 316 постах
Да, только цепочка сертификатов другой стороны не будет проверяться.
Техническую поддержку оказываем тут
Наша база знаний
Offline Despair  
#14 Оставлено : 10 августа 2018 г. 6:10:05(UTC)
Despair

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

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

Включили SSLLogging и JCP логирование на уровне ALL, лог во вложении.
Сейчас проблема в том, что при установленной галке Check revocation status of the certificate chain у нас вываливается ошибка
Цитата:
Caused by: java.security.GeneralSecurityException: [PKIX] Online verification of certificate status is enabled but com.sun.security.enableCRLDP=false, com.ibm.security.enableCRLDP=false

если галка не стоит тогда возвращается
Цитата:
Status code : 403
Status text : Forbidden

Оба лога прикладываю
log_with.txt (139kb) загружен 1 раз(а). log_without.txt (102kb) загружен 1 раз(а).
Offline Despair  
#15 Оставлено : 10 августа 2018 г. 6:11:05(UTC)
Despair

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

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

Автор: Евгений Афанасьев Перейти к цитате
Да, только цепочка сертификатов другой стороны не будет проверяться.



тогда не совсем понимаю, почему при снятии этого пункта у нас возникает отказ в соединении
Offline Евгений Афанасьев  
#16 Оставлено : 10 августа 2018 г. 6:49:09(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 319 раз в 316 постах
В первом логе уведомление об ограничении сроков использования ГОСТ 2001 по-прежнему включено, из-за этого проваливается тест ключа "19136019@2018-03-23-ООО Наша организация -1":
Код:

2018-08-10 10:38:34.580  INFO 5816 --- [           main] ru.CryptoPro.JCP.tools.JCPLogger         : System Preference Node: /ru/CryptoPro/JCP/tools.Gost2001Warning_class_default=false

Код:

2018-08-10 10:38:34.580  INFO 5816 --- [           main] ru.CryptoPro.JCP.tools.JCPLogger         : System Preference Node: /ru/CryptoPro/JCP/tools.Gost2001Warning_class_default=false
2018-08-10 10:38:34.580 DEBUG 5816 --- [           main] ru.CryptoPro.ssl.SSLLogger               : 19136019@2018-03-23-ООО Наша организация -1 : private key test failed
java.awt.HeadlessException: null
	at java.awt.GraphicsEnvironment.checkHeadless(Unknown Source) ~[na:1.8.0_181]
	at java.awt.Window.<init>(Unknown Source) ~[na:1.8.0_181]
	at java.awt.Frame.<init>(Unknown Source) ~[na:1.8.0_181]
	at java.awt.Frame.<init>(Unknown Source) ~[na:1.8.0_181]
	at javax.swing.JFrame.<init>(Unknown Source) ~[na:1.8.0_181]
	at ru.CryptoPro.JCP.tools.N.<init>(Unknown Source) ~[JCP.jar:39014]
	at ru.CryptoPro.JCP.tools.Gost2001Warning.warn(Unknown Source) ~[JCP.jar:39014] <---
	at ru.CryptoPro.JCP.Sign.c.engineInitSign(Unknown Source) ~[JCP.jar:39014]
	at java.security.Signature.initSign(Unknown Source) ~[na:1.8.0_181]

Перед этим происходит проверка цепочки сертификатов сервера (состоит из трех сертификатов) - она включена и выполняется успешно:
Код:

2018-08-10 10:38:34.580  INFO 5816 --- [           main] ru.CryptoPro.JCP.tools.JCPLogger         : User Preference Node: /ru/CryptoPro/ssl.Enable_revocation_default=true <---
2018-08-10 10:38:34.580  INFO 5816 --- [           main] ru.CryptoPro.JCP.tools.JCPLogger         : User Preference Node: /ru/CryptoPro/ssl.Enable_CRL_revocation_online_default=true
2018-08-10 10:38:34.580  INFO 5816 --- [           main] ru.CryptoPro.JCP.tools.JCPLogger         : User Preference Node: /ru/CryptoPro/ssl.Enable_CRL_revocation_offline_default=false
2018-08-10 10:38:34.580 DEBUG 5816 --- [           main] ru.CryptoPro.ssl.SSLLogger               : [PKIX] Online verification is enabled. <---
2018-08-10 10:38:34.580 DEBUG 5816 --- [           main] ru.CryptoPro.ssl.SSLLogger               : [PKIX] Offline verification is disabled. CRL timer is turned OFF.
2018-08-10 10:38:34.580 DEBUG 5816 --- [           main] ru.CryptoPro.ssl.SSLLogger               : [PKIX] Revocation enabled: true
2018-08-10 10:38:34.580 DEBUG 5816 --- [           main] ru.CryptoPro.ssl.SSLLogger               : [PKIX] The certificate chain is valid. <---

Во втором логе, где отключена проверка, все то же самое (та же ошибка), только проверка цепочки не выполняется:
Код:

0:58:18.378  INFO 5460 --- [           main] ru.CryptoPro.JCP.tools.JCPLogger         : User Preference Node: /ru/CryptoPro/ssl.Enable_revocation_default=false <---
2018-08-10 10:58:18.378 DEBUG 5460 --- [           main] ru.CryptoPro.ssl.SSLLogger               : [PKIX] Offline verification is disabled. CRL timer is turned OFF.

Напишите, как вы отключаете предупреждение о ГОСТ 2001 в командной строке (приведите команду).

Отредактировано пользователем 10 августа 2018 г. 6:50:27(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline Despair  
#17 Оставлено : 10 августа 2018 г. 11:27:52(UTC)
Despair

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

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

на новой виртуалке вроде все взлетело, но как ни странно не до конца, получилось два или три раза подключиться, и снова 403 Forbidden. Сейчас ждем ответа с другой стороны, что у них в логах будет. У меня вопрос с этим отключением предупреждения, если его отключать через команду - оно на постоянной основе хранится, или у нее есть какой-то период действия? предупреждение CSP отключил через реестр, а у JCP через команду указанную в ссылке выше:

Цитата:
<PathJRE>/bin/java ru.CryptoPro.JCP.Util.SetPrefs -system -node ru/CryptoPro/JCP/tools -key Gost2001Warning_class_default -value true
Offline Евгений Афанасьев  
#18 Оставлено : 10 августа 2018 г. 11:30:02(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 319 раз в 316 постах
Команда правильная, срока действия у нее нет. Соберите, пожалуйста, лог и снова приложите.
Техническую поддержку оказываем тут
Наша база знаний
Offline Despair  
#19 Оставлено : 10 августа 2018 г. 12:39:52(UTC)
Despair

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

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

Лог во вложении. Самое интересное что тест (небольшая тестовая програмка, которая лезет туда же и по тем же алгоритмам) соединения проходит нормально, даже данные получаются какие-то, но рабочая программа почему-то после двух подключений стала выдавать ошибку...
log_new.txt (151kb) загружен 1 раз(а).
Offline Евгений Афанасьев  
#20 Оставлено : 10 августа 2018 г. 12:44:15(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 319 раз в 316 постах
Той ошибки нет. Пароль на "19136019@2018-03-23-ООО Наша организация -1" задали? он без пароля, видимо.

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

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