В настоящее время я пишу сетевой TCP-сервер с использованием SSL. В производстве мы, наконец, потребуем от клиентов аутентификации с сертификатом.Проверка SSL-сертификата Java Проверка
Чтобы отозвать сертификаты в случае возникновения чрезвычайной ситуации, мы также хотели бы установить CRL.
Мой вопрос: Является ли Java проверять CRL (если имеется сертификат) из коробки или мне нужно вручную выполнить такие проверки?
Для тестирования я подготовил сертификат с набором CRL, но Java, похоже, не пытается его проверить (я удалил его на локальный веб-сервер, и нет доступа).
Я нашел только com.sun.net.ssl.checkRevocation = true VM вариант, но, по-видимому, он не запрашивает CRL. VM отладки установлен java.security.debug = CertPath не формирует никаких выходных данных, либо ...
Java, кажется, связаны классы в ее подсистем (например, java.security.cert.X509CRLSelector), но очевидно, это не вступает в игру.
Я написал проект небольшой Maven стиля с использованием Apache Mina, как клиент-сервер, который инициализирует SSLContext на основе ключевого/truststores и самоподписанные сертификаты для клиента/сервера, который можно скачать здесь, как ZIP архив: https://www.dropbox.com/s/3fqmd1v9mn2a5ve/ssltest.zip?dl=0
по умолчанию java не проверяет CRL, если вам нужно, вам нужно создать собственный валидатор сертификатов. –
Это может помочь вам https://www.java.com/en/download/help/revocation_options.xml –
Возможный дубликат [CRL Verification in Java] (http://stackoverflow.com/questions/30903993/crl-verification -in-java) –