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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Малыгин Н.  
#1 Оставлено : 5 марта 2019 г. 10:50:13(UTC)
Малыгин Н.

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

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

Сказал(а) «Спасибо»: 6 раз
Приветствую!
С использованием JCP (2.0.39014) и JCSP (5.0.39267) был написан код валидации цепочки сертификатов (код во вложении).
Сертификаты для ЭП, сгенерированные с помощью keytool и тестового Удостоверяющего Центра по алгоритму ГОСТ 2001, успешно проходят проверку.
Сертификаты для ЭП, сгенерированные таким же образом по ГОСТ 2012 (256 бит), проверку не проходят с ошибкой:

Exception in thread "main" ru.CryptoPro.reprov.certpath.JCPCertPathBuilderException: unable to find valid certification path to requested target
at ru.CryptoPro.reprov.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
at ru.CryptoPro.reprov.CPCertPathBuilder.engineBuild(Unknown Source)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)

Сертификаты и СОС, на которых возникает ошибка, во вложении.

cert_validation.txt (2kb) загружен 16 раз(а).
certs.zip (4kb) загружен 8 раз(а).
Offline Евгений Афанасьев  
#2 Оставлено : 5 марта 2019 г. 11:16:14(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Здравствуйте.
В текущей версии jcp (последняя на сайте) не воспроизводится.
Можно попробовать:
1) задать строку cpp.setRevocationEnabled(true); не перед build(), а ниже, перед validate(), оставив, таким образом, revocationEnabled=false в параметрах cpp для build(), но включив для validate();
2) обновить jcp/jcsp.

P.S. И адрес CRL в сертификате странный: URL=http://https:\\cryptoprotest/cdp/33908ce67d9d43850ca5677b6cde043521d26d33.crl

Отредактировано пользователем 5 марта 2019 г. 11:18:29(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
Малыгин Н. оставлено 29.10.2019(UTC)
Offline Малыгин Н.  
#3 Оставлено : 5 марта 2019 г. 12:27:37(UTC)
Малыгин Н.

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

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

Сказал(а) «Спасибо»: 6 раз
Да, похоже, проблема была в устаревших версиях. На JCP 2.0.40035, JCSP 5.0.40055 и КриптоПро CSP 4.0 R4 сертификаты успешно проходят проверку.

Спасибо!
Offline Малыгин Н.  
#4 Оставлено : 13 декабря 2019 г. 10:41:02(UTC)
Малыгин Н.

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

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

Сказал(а) «Спасибо»: 6 раз
Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте.
В текущей версии jcp (последняя на сайте) не воспроизводится.
Можно попробовать:
1) задать строку cpp.setRevocationEnabled(true); не перед build(), а ниже, перед validate(), оставив, таким образом, revocationEnabled=false в параметрах cpp для build(), но включив для validate();
2) обновить jcp/jcsp.

P.S. И адрес CRL в сертификате странный: URL=http://https:\\cryptoprotest/cdp/33908ce67d9d43850ca5677b6cde043521d26d33.crl


Снова здравствуйте!

Опять возникла подобная проблема на этапе валидации сертификата ГОСТ 2012 256 бит, однако версии JCSP и CSP теперь актуальные - v.5.0 rel. 5.0.40424 и v4.0.9019 KC2 Release Ver:4.0.9963 соответственно.
В соответствии с вашими прошлыми рекомендациями переместил строку cpp.setRevocationEnabled(true); на место перед validate() и построение цепочки стало проходить. Что это значит? Теперь для построения цепочки программа обращается за данными в сеть?
Offline Евгений Афанасьев  
#5 Оставлено : 13 декабря 2019 г. 10:51:12(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Добрый день.
Автор: Малыгин Н. Перейти к цитате
cpp.setRevocationEnabled(true); на место перед validate() и построение цепочки стало проходить

validate проверяет цепочку (для этого нужен setRevocationEnabled=true), строит ее build.

Offline Малыгин Н.  
#6 Оставлено : 16 декабря 2019 г. 16:05:05(UTC)
Малыгин Н.

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

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

Сказал(а) «Спасибо»: 6 раз
Автор: Евгений Афанасьев Перейти к цитате
Добрый день.
Автор: Малыгин Н. Перейти к цитате
cpp.setRevocationEnabled(true); на место перед validate() и построение цепочки стало проходить

validate проверяет цепочку (для этого нужен setRevocationEnabled=true), строит ее build.



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