Як перевірити, чи були відкликані мої SSL сертифікати


23

Нещодавнє виявлення незахищеної вразливості спонукало сертифікаційні органи повторно видавати сертифікати.

У мене є два сертифікати, які були створені ще до того, як виявлена ​​вразливість серця. Після того, як емітент SSL сказав мені відновити сертифікат, я оновив обидва сервери / домени новими сертифікатами.

Якщо я розумію правильно, тоді КС повинні були відкликати старі сертифікати, і вони повинні були внести їх до CRL (Список відкликаних сертифікатів) або бази даних OCSP (Інтернет-протокол статусу сертифікату), інакше технічно можливо, щоб хтось виконав " людина в середній атаці "шляхом регенерування довідок з інформації, зібраної з компрометованих сертифікатів.

Чи є спосіб перевірити, чи мої старі сертифікати внесли його до CRL та OCSP. Якщо їх немає, чи є спосіб включити їх?

ОНОВЛЕННЯ: Ситуація полягає в тому, що я вже замінив свої сертифікати. Все, що у мене є, - це .crt-файли старих сертифікатів, тому використання URL-адреси перевірити насправді неможливо.


Ви можете перевірити, використовуючи certutil, я вважаю. Прочитайте тут
MichelZ

1
Я використовую Ubuntu як робочий стіл та Centos на своєму сервері
sridhar pandurangiah

Тоді я закликаю вас позначити своє запитання як таке
MichelZ

Рекомендую прочитати це для * nix
MichelZ

@MichelZ - я позначив це питання Ubuntu
sridhar pandurangiah

Відповіді:


10

Отримайте URL-адресу ocsp від вашої програми:

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

Надішліть запит на сервер ocsp, щоб перевірити, скасовується чи cert:

$ 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
$

Це спрацювало для мене (спасибі), але я подумав, що я також зазначу, що на додаток до Часу відкликання, мій аукціон відображав також Причину відкликання, що було корисно, коли ми зв’язалися з емітентом, намагаючись з’ясувати, з чим у біса церт.
sdek

10

Ви можете використовувати certutil у Windows:

Якщо у вас є сертифікат і хочете перевірити його дійсність, виконайте таку команду:

certutil -f –urlfetch -verify [FilenameOfCertificate]

Наприклад, використання

certutil -f –urlfetch -verify mycertificatefile.cer

Джерело / Детальніше: TechNet

Крім того, обов'язково проконсультуйтеся у своєму CA. Тільки тому, що ви перепроводите церт / отримаєте новий, не означає, що вони автоматично його відкликають!


1
Для установки certutilна сервер Ubuntu використовуйте команду sudo apt-get install libnss3-tools. Це не очевидно, оскільки пошук кешу apt-get не повертає результатів для рядка certutil. Я знаю, що сервером ОП є CentOS, але можливо, що інші адміністратори сервера Ubuntu також знайдуть це питання корисним.
dotancohen

Моя відповідь була виключно на основі Windows . Я не знаю жодної * nix реалізації цього. Дивіться тут для можливого рішення * NIX
MichelZ

2
@dotancohen Хоча цю програму також називають certutil, вона не є тією ж програмою, що в certutil.exeWindows, і не використовується так само.
Ден Гетц

1

Ви можете використовувати цю послугу SSLLabs для тестування SSL-сертифікатів, але вам потрібно, щоб вони були доступними з Інтернету. Крім того, ви можете дізнатися більше інформації, тому що ця послуга надає деякий аудит.


Це вимагає, щоб сервер працював зі старим сертифікатом. Але регенерувавши мої сертифікати, я маю лише файл .crt старого сертифіката.
sridhar pandurangiah

1

Якщо ви відкликали сертифікати через ЦС, який створив їх, вони б зробили це OCSP та CRL.

Якщо ви хочете переконатися, що це так, то, будь ласка, витягніть URL-адресу ocsp з сертифіката і потім побудуйте запит ocsp до цього URL-адреса, включаючи серійний номер сертифіката, сертифікат ca-емітента та отримайте відповідь ocsp, і тоді можна проаналізуйте його, щоб перевірити і підтвердити, що він справді відкликаний.

Детальніше на цій корисній сторінці: http://backreference.org/2010/05/09/ocsp-verification-with-openssl/

Примітка: для цього потрібно використовувати бібліотеку openssl.

Edit1: Я бачу, що ви додали інформацію про OCSP та CRL явно після цієї відповіді.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.