Как проверить, отозваны ли мои SSL-сертификаты?

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

У меня есть два сертификата, которые были сгенерированы до того, как была обнаружена уязвимость. После того, как издатель SSL сказал мне восстановить сертификат, я обновил оба моих сервера / домена новыми сертификатами.

Если мое понимание верно, тогда старые сертификаты должны были быть отозваны ЦС и должны были быть внесены в CRL (список отзыва сертификатов) или базу данных OCSP (сетевой протокол статуса сертификата), в противном случае технически возможно, чтобы кто-то выполнил " "Человек в середине атаки" путем восстановления сертификатов из информации, полученной из скомпрометированных сертификатов.

Есть ли способ проверить, сделали ли мои старые сертификаты CRL и OCSP. Если у них нет, есть ли способ включить их?

ОБНОВЛЕНИЕ: Ситуация такова, что я уже заменил свои сертификаты, все, что у меня есть, это файлы.crt старых сертификатов, поэтому использование URL для проверки на самом деле невозможно.

4 ответа

Решение

Получите URL-адрес OCSP от вашего сертификата:

$ openssl x509 -noout -ocsp_uri -in /etc/letsencrypt/archive/31337.it/cert1.pem
http://ocsp.int-x1.letsencrypt.org/
$

Отправьте запрос на сервер ocsp, чтобы проверить, отозван ли сертификат или нет:

$ openssl ocsp -issuer /etc/letsencrypt/archive/31337.it/chain4.pem -cert /etc/letsencrypt/archive/31337.it/cert4.pem -text -url http://ocsp.int-x1.letsencrypt.org/ -header "HOST" "ocsp.int-x1.letsencrypt.org"
...
        This Update: Oct 29 10:00:00 2015 GMT
        Next Update: Nov  5 10:00:00 2015 GMT
$

это хороший сертификат.

Это отозванный сертификат:

$  openssl ocsp -issuer /etc/letsencrypt/archive/31337.it/chain3.pem -cert /etc/letsencrypt/archive/31337.it/cert3.pem -text -url http://ocsp.int-x1.letsencrypt.org/ -header "HOST" "ocsp.int-x1.letsencrypt.org"
...
        This Update: Oct 29 12:00:00 2015 GMT
        Next Update: Nov  5 12:00:00 2015 GMT
        Revocation Time: Oct 29 12:33:57 2015 GMT
$

Вы можете использовать certutil в Windows:

Если у вас есть сертификат и вы хотите проверить его действительность, выполните следующую команду:

certutil -f –urlfetch -verify [FilenameOfCertificate]

Например, используйте

certutil -f –urlfetch -verify mycertificatefile.cer

Источник / Больше информации: TechNet

Кроме того, не забудьте проверить с вашим CA. Тот факт, что вы повторно вводите сертификат / получаете новый, не означает, что они автоматически его отменяют!

Вы можете использовать эту службу SSLLabs для тестирования SSL-сертификатов, но вам нужно, чтобы они были доступны через Интернет. Кроме того, вы можете узнать больше информации, потому что этот сервис предоставляет некоторый аудит.

Если вы отозвали сертификаты через ЦС, который их сгенерировал, они бы сделали это с OCSP и CRL.

Если вы хотите убедиться, что это так, то, пожалуйста, извлеките URL-адрес ocsp из сертификата, а затем создайте запрос ocsp к этому URL-адресу, включая серийный номер сертификата, сертификат издателя ca и получите ответ ocsp, а затем можно проанализируйте это, чтобы проверить и подтвердить, что это действительно отозвано.

Более подробно на этой полезной странице: http://backreference.org/2010/05/09/ocsp-verification-with-openssl/

Примечание: это требует использования библиотеки openssl.

Edit1: я вижу, что вы добавили информацию об OCSP и CRL явно после этого ответа.

Другие вопросы по тегам