Проверка пути сертификата в Java, включая проверку CRL

У меня есть промежуточная цепочка сертификатов, корневой сертификат и сертификат клиента. Я должен убедиться, что они вместе образуют действительную цепочку сертификатов. Это отлично работает, когда у меня есть один промежуточный сертификат с действительной записью CRLDistributionPoint. Java CertPathValidator API прекрасно справляется с проверкой.

Мой вопрос был о сценарии, когда будет несколько промежуточных сертификатов, и каждый из них может иметь запись CRLDistributionPoint. Нужно ли мне писать дополнительный код для обработки этого случая? Или Java просто будет проверять все CRL? Или корневой сертификат может делегировать подпись CRL только одному сертификату?

Я пробовал искать в Интернете и не мог найти никаких подсказок. В дополнение к ответу на мой вопрос было бы здорово, если бы кто-нибудь мог указать мне ресурс о PKI и сертификатах в целом. Благодарю вас!


person previouslyactualname    schedule 30.06.2015    source источник
comment
ietf.org/rfc/rfc5280.txt Интернет Сертификат инфраструктуры открытого ключа X.509 и Профиль списка отозванных сертификатов (CRL)   -  person Manuel    schedule 01.07.2015


Ответы (1)


Нет, вам не нужно добавлять код, реализация JDK может легко обрабатывать проверку пути сертификата, содержащего более одного промежуточного сертификата CA.

Обратите внимание, что код проверки также тестируется с помощью тестового набора PKI. из НИСТ. Этот набор тестов пытается предоставить полный список тестовых случаев проверки сертификата и пути сертификата.

Если вы хотите посмотреть код реализации, вы можете посмотреть реализацию OpenJDK: http://www.docjar.com/docs/api/sun/security/provider/certpath/package-index.html

person Jcs    schedule 16.07.2015