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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline dbubb  
#1 Оставлено : 25 октября 2019 г. 15:50:40(UTC)
dbubb

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

Группы: Участники
Зарегистрирован: 02.02.2011(UTC)
Сообщений: 43
Мужчина
Откуда: Екатеринбург

Сказал «Спасибо»: 14 раз
Поблагодарили: 1 раз в 1 постах
Добрый день.

Столкнулись с такой проблемой: в сертификате одного из пользователей указаны такие адреса для списка отозванных сертификатов:
http://ca.roseltorg.ru/c...47b78be839f14b1ad8a4.crl
http://www.roseltorg.ru/...47b78be839f14b1ad8a4.crl

Первый адрес обычный - по нему все скачивается и проверяется хорошо.
А вот второй адрес возвращает HTTP-код 302 и редиректит на адрес https://www.roseltorg.ru...915447b78be839f14b1ad8a4
Если пытаться скачать CRL через браузер, он этот редирект нормально отрабатывает и файл скачивает
Но КриптоПро JCP похоже обработать этот редирект не может, в логах получаем ошибку:

Цитата:
ERROR: Validation failed for the target, sn: 4214b5001baad6944bf5c5d27afdb918, subject: CN=Тутеев Александр Михайлович, OU=0, O=ИП Тутеев Александр Михайлович, L=Москва, ST=77 Москва, C=RU, SURNAME=Тутеев, GIVENNAME=Александр Михайлович, OID.1.2.643.3.131.1.1=#120C373731353732343131353332, OID.1.2.643.100.3=#120B3032343536303834353430, OID.1.2.643.100.5=#120F333139373734363030313733303439, EMAILADDRESS=tuteev80@mail.ru, OID.1.2.840.113549.1.9.2="INN=771572411532/OGRNIP=319774600173049", issuer: CN="АО \"ЕЭТП\"", O="АО \"ЕЭТП\"", OU=Удостоверяющий центр, STREET="ул. Кожевническая, д. 14, стр. 5", L=Москва, ST=77 Москва, C=RU, OID.1.2.643.3.131.1.1=#120C303037373037373034363932, OID.1.2.643.100.1=#120D31303937373436323939333533, EMAILADDRESS=uc@roseltorg.ru For online validation by CRLDP parameter 'com.sun.security.enableCRLDP' (Oracle) or 'com.ibm.security.enableCRLDP' (IBM) must be set 'true' to enable or 'ocsp.enable' must be set 'true' (OCSP), or CRL passed for offline validation; error codes: [44] 'Certificate status is unknown or revoked',


(если первый URL, который без редиректа, доступен - то проверка проходит успешно, ошибка только когда первый URL недоступен и КриптоПро JCP обращается по второму адресу)

Используем свежую версию КриптоПро JCP 2.0.40502

Вот в этой новости: https://www.cryptopro.ru...ts&m=90347#post90347
была информация про специальный параметр для включения возможности скачивания CRL когда требуется обрабатывать редиректы ( -Dallow_crl_redirect=true )
Пробовали указывать данный параметр запуска - ничего не изменилось (у нас приложение на tomcat, указывали -Dallow_crl_redirect=true как параметр запуска tomcat)
Может надо как-то по другому включать эту возможность?

Прикладываю сертификат:
cert.zip (2kb) загружен 4 раз(а).

Чтобы воспроизвести ошибку надо чтобы первый URL был недосупен, я этого добивался добавлением такой записи в файл hosts:
0.0.0.0 ca.roseltorg.ru
Offline Евгений Афанасьев  
#2 Оставлено : 25 октября 2019 г. 16:59:12(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Здравствуйте. Согласно rfc, допускается использовать переадресацию на https, если среди адресов есть хотя бы один достижимый (http), по которому все же можно проверить статус. Jcp обрабатывать переадресацию не умеет. Параметр был введён, но он работает ненадёжно, т. к. зависит от того, установлен ли cpssl, который может вмешиваться в работу tls.

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

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
dbubb оставлено 28.10.2019(UTC)
Offline Санчир Момолдаев  
#3 Оставлено : 25 октября 2019 г. 17:28:23(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 223 раз в 211 постах
Посмотрите также эту тему
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Санчир Момолдаев за этот пост.
dbubb оставлено 28.10.2019(UTC)
Offline dbubb  
#4 Оставлено : 28 октября 2019 г. 8:59:41(UTC)
dbubb

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

Группы: Участники
Зарегистрирован: 02.02.2011(UTC)
Сообщений: 43
Мужчина
Откуда: Екатеринбург

Сказал «Спасибо»: 14 раз
Поблагодарили: 1 раз в 1 постах
Здравствуйте. Спасибо за ответ.

Автор: Евгений Афанасьев Перейти к цитате
Согласно rfc, допускается использовать переадресацию на https, если среди адресов есть хотя бы один достижимый (http), по которому все же можно проверить статус.

Спасибо за информацию. Подскажите пожалуйста по текущей ситуации - вот у них два адреса CRL в сертификате, оба вроде по http, но второй редиректит на https, при том что первый бывает временно недоступен (уже пару раз как минимум такое было) - такая ситуация корректна с точки зрения RFC? Можно ли тут УЦ предъявлять претензию, что редирект на https некорректен, или они имеют право так делать?

Автор: Евгений Афанасьев Перейти к цитате
Параметр был введён, но он работает ненадёжно, т. к. зависит от того, установлен ли cpssl, который может вмешиваться в работу tls.

Действительно, у нас установлен JTLS, он нужен для взаимодействия с ЕИС.
Возможно ли тут какое-то обходное решение?
Может быть в версиях для свежей Java (там где установка в JDK не происходит) такой редирект будет успешно обрабатываться?
Offline dbubb  
#5 Оставлено : 28 октября 2019 г. 9:02:23(UTC)
dbubb

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

Группы: Участники
Зарегистрирован: 02.02.2011(UTC)
Сообщений: 43
Мужчина
Откуда: Екатеринбург

Сказал «Спасибо»: 14 раз
Поблагодарили: 1 раз в 1 постах
Автор: Санчир Момолдаев Перейти к цитате
Посмотрите также эту тему


Да, спасибо, видел эту тему.
Там в итоге вручную скачали CRL, но боюсь у нас такое не получится, так как из-за установленного JTLS не получится обработать https-соединение (JTLS не дает работать по не-ГОСТовским сертификатам)
Offline two_oceans  
#6 Оставлено : 28 октября 2019 г. 11:20:00(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Вариант 1. Если есть один адрес http никуда не перебрасывающий, то можно скачать с него. На случай недоступности нужно начинать попытки обновить список отзыва примерно за сутки до истечения срока действия предыдущего списка отзыва. По нормам УЦ рекомендуется выпускать новый список за сутки до окончания старого, но к сожалению не все УЦ точно соблюдают временные рамки.
Вариант 2. скачивать на другом компьютере https и выкладывать в локальной сети по http, в hosts завернуть на локальную копию, выложенную в локальной сети.
Offline dbubb  
#7 Оставлено : 29 октября 2019 г. 14:08:44(UTC)
dbubb

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

Группы: Участники
Зарегистрирован: 02.02.2011(UTC)
Сообщений: 43
Мужчина
Откуда: Екатеринбург

Сказал «Спасибо»: 14 раз
Поблагодарили: 1 раз в 1 постах
Добрый день.

Автор: Евгений Афанасьев Перейти к цитате
Параметр был введён, но он работает ненадёжно, т. к. зависит от того, установлен ли cpssl, который может вмешиваться в работу tls.

Попробовали обойти проблему с JTLS - сделали версию в которой JTLS отключен (он установлен с JCP, но все изменения из файла java.security убраны, и https-соединения обрабатываются успешно).

После этого снова попробовали сделать вызов с переадресацией, собрали подробные логи.
log_success.zip (12kb) загружен 1 раз(а). - лог успешной проверки (переадресация не требовалась)
log_error.zip (13kb) загружен 2 раз(а). - лог ошибочной проверки (переадресация не произошла)

судя по логам после попытки скачать CRL по адресу с переадресацией он получает пустой ответ со статусом 301:
Код:
FINER: Exception fetching CRL: http://www.roseltorg.ru/ed13017a7ac4337f915447b78be839f14b1ad8a4.crl  (status: 301)

после чего больше не пытается никуда обращаться

При этом в логах также попалась такая строчка:
Код:
CONFIG: System Preference Node: /ru/CryptoPro/reprov/certpath.allow_crl_redirect=false

хотя мы указываем в параметрах запуска приложения такой параметр: -Dallow_crl_redirect=true

В связи с этим вопрос: Как правильно включать механизм обработки переадресации? Нужно сделать ещё что-то, кроме указания параметра -Dallow_crl_redirect=true?
Offline Евгений Афанасьев  
#8 Оставлено : 29 октября 2019 г. 14:24:57(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Попробуйте так под управлением администратора:
<JRE>/bin/java ru.CryptoPro.JCP.Util.SetPrefs -system -node ru/CryptoPro/reprov/certpath -key allow_crl_redirect -value true
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
dbubb оставлено 29.10.2019(UTC)
Offline dbubb  
#9 Оставлено : 29 октября 2019 г. 16:05:31(UTC)
dbubb

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

Группы: Участники
Зарегистрирован: 02.02.2011(UTC)
Сообщений: 43
Мужчина
Откуда: Екатеринбург

Сказал «Спасибо»: 14 раз
Поблагодарили: 1 раз в 1 постах
Автор: Евгений Афанасьев Перейти к цитате
Попробуйте так под управлением администратора:
<JRE>/bin/java ru.CryptoPro.JCP.Util.SetPrefs -system -node ru/CryptoPro/reprov/certpath -key allow_crl_redirect -value true


После этой команды поведение изменилось, в логах строчка про allow_crl_redirect приобрела вид:
Код:
CONFIG: System Preference Node: /ru/CryptoPro/reprov/certpath.allow_crl_redirect=true


Видно что при попытке соединения идет редирект:
Код:

FINER: CertStore URI: http://www.roseltorg.ru/ed13017a7ac4337f915447b78be839f14b1ad8a4.crl
окт 29, 2019 5:11:55 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINE: Connecting: http://www.roseltorg.ru/ed13017a7ac4337f915447b78be839f14b1ad8a4.crl
окт 29, 2019 5:11:56 PM ru.CryptoPro.reprov.certpath.URICertStore a
FINE: Connecting (redirect): https://www.roseltorg.ru/ed13017a7ac4337f915447b78be839f14b1ad8a4.crl


Потом долго идет SSL-взаимодействие с удаленным сервером (рукопожатие, обработка https-сертификатов и т.п.)
Но заканчивается это все к сожалению ошибкой Invalid Http response:
Код:

FINER: Exception fetching CRL: http://www.roseltorg.ru/ed13017a7ac4337f915447b78be839f14b1ad8a4.crl  (status: 301)
окт 29, 2019 5:11:56 PM ru.CryptoPro.reprov.certpath.URICertStore engineGetCRLs
FINER: THROW
java.io.IOException: Invalid Http response


Подробный лог: log_error2.zip (51kb) загружен 4 раз(а).

Обработал сырые данные из лога, которые вернул сервер roseltorg - выяснил что он вернул html-страницу с 404 ошибкой и текстом:
"Сервер обнаружил в запросе клиента синтаксическую ошибку"

При этом при попытке скачать данный CRL через браузер - он скачивается успешно.
Offline Евгений Афанасьев  
#10 Оставлено : 31 октября 2019 г. 15:30:02(UTC)
Евгений Афанасьев

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

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

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