Проверка отзыва сертификата по CRL в КриптоПро CSP 4.0

При переходе с CSP 4.0 на JCP 2.0 для проверки ЭЦП столкнулись с проблемой - различное поведение при проверке сертификата по спискам отзывов: JCP при отсутствии валидной/актуальной на дату подписи CRL возвращает, неопределённый статус сертификата и, как следствие, признаёт подпись недействительной. В то же время CSP признаёт такой сертификат и подпись корректными. В обоих случаях crlDP не используются, актуальные CRL добавляются вручную.

Версия CSP: Product version 4.0.9963 CSP core version: 4.0.9019 KC1

Версия JCP: 2.0.40450-A

Пример:

Сообщение было подписано в 05.12.2022 09:09:40 (дата указана в атрибуте signingTime). Список отзыва УЦ, выпустившего сертификат валиден с 5.12.2022 22.51.09 по 6.12.2022 12.22.06, т.е. сообщение было подписано до начала действия списка отзыва, предыдущий список отзыва (актуальный на дату подписания) был перезаписан новым. Сам сертификат валиден на дату подписи и не отозван.

При таких условиях JCP возвращает ошибку построения цепочки сертификатов "SunCertPathBuilderException: unable to find valid certification path to requested target", при этом, если в режиме отладки при проверке подписи в JCP заменить дату на попадающую в интервал действия CRL, сертификат и подпись проверяются как корректные, т.е. очевидно причина ошибки в недействительности имеющегося списка отзыва на дату подписания.

В то же время при аналогичных условиях CSP проверяет подпись этого сообщения, как корректную (вероятно игнорирую интервал действия списка отзыва).

Чем обусловлено данное различие в поведении и какое поведение считать корректным?


Ответы (0 шт):