Wie überprüfe ich, ob meine SSL-Zertifikate widerrufen wurden?

23

Die kürzliche Entdeckung der Sicherheitsanfälligkeit in Heartbleed hat Zertifizierungsstellen dazu veranlasst, Zertifikate erneut auszustellen.

Ich habe zwei Zertifikate, die generiert wurden, bevor die Heartbleed-Sicherheitsanfälligkeit entdeckt wurde. Nachdem der SSL-Aussteller mich aufgefordert hat, das Zertifikat neu zu generieren, habe ich meine beiden Server / Domänen mit den neuen Zertifikaten aktualisiert.

Wenn mein Verständnis korrekt ist, sollten die alten Zertifikate von der Zertifizierungsstelle gesperrt und in die CRL (Certificate Revocation List) oder die OCSP-Datenbank (Online Certificate Status Protocol) aufgenommen worden sein. man in the middle attack ", indem die Zertifikate aus Informationen wiederhergestellt werden, die aus manipulierten Zertifikaten stammen.

Gibt es eine Möglichkeit zu überprüfen, ob meine alten Zertifikate es zu CRL und OCSP geschafft haben? Wenn nicht, gibt es eine Möglichkeit, sie einzubeziehen?

UPDATE: Die Situation ist, dass ich meine Zertifikate bereits ersetzt habe. Alles, was ich habe, sind die .crt-Dateien der alten Zertifikate. Daher ist es nicht wirklich möglich, die URL zum Überprüfen zu verwenden.

sridhar pandurangiah
quelle
Sie können mit certutil überprüfen, glaube ich. Lesen Sie hier
MichelZ
1
Ich benutze Ubuntu als Desktop und Centos auf meinem Server
sridhar pandurangiah
Dann ermutige ich Sie, Ihre Frage als solche zu
kennzeichnen
Ich empfehle ein Lesen dieses für * nix
MichelZ
@MichelZ - Ich habe die Frage mit Ubuntu
sridhar pandurangiah

Antworten:

10

Holen Sie sich die ocsp-URL von Ihrem Zertifikat:

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

Senden Sie eine Anfrage an den ocsp-Server, um zu prüfen, ob das Zertifikat widerrufen wurde oder nicht:

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

Das ist ein gutes Zertifikat.

Dies ist eine widerrufene Bescheinigung:

$  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
$
Simon
quelle
Dies funktionierte für mich (danke), aber ich dachte, ich würde auch erwähnen, dass neben der Widerrufszeit auch ein Widerrufsgrund angezeigt wurde, was hilfreich war, als wir den Emittenten kontaktierten, um herauszufinden, was zum Teufel los war das cert.
sdek
10

Sie können certutil unter Windows verwenden:

Wenn Sie ein Zertifikat haben und dessen Gültigkeit überprüfen möchten, führen Sie den folgenden Befehl aus:

certutil -f –urlfetch -verify [FilenameOfCertificate]

Verwenden Sie zum Beispiel

certutil -f –urlfetch -verify mycertificatefile.cer

Quelle / Weitere Informationen: TechNet

Wenden Sie sich außerdem an Ihre Zertifizierungsstelle. Nur weil Sie das Zertifikat erneut eingeben / ein neues erhalten, heißt das nicht, dass es automatisch widerrufen wird!

MichelZ
quelle
1
certutilVerwenden Sie den Befehl, um auf einem Ubuntu-Server zu installieren sudo apt-get install libnss3-tools. Dies ist nicht offensichtlich, da die Suche im apt-get-Cache keine Ergebnisse für die Zeichenfolge zurückgibt certutil. Ich weiß, dass der Server des OP CentOS ist, aber es ist möglich, dass auch andere Ubuntu Server-Administratoren diese Frage hilfreich finden.
Dotancohen
Meine Antwort war rein Windows- basiert. Ich kenne keine * nix-Implementierung davon. Siehe hier für eine mögliche * nix - Lösung
MichelZ
2
@dotancohen Obwohl dieses Programm auch aufgerufen wird certutil, ist es nicht dasselbe Programm wie certutil.exeunter Windows und wird nicht auf die gleiche Weise verwendet.
Dan Getz
1

Sie können diesen SSLLabs-Service zum Testen von SSL-Zertifikaten verwenden, diese müssen jedoch über das Web zugänglich sein. Darüber hinaus können Sie weitere Informationen erhalten, da dieser Dienst einige Prüfungen durchführt.

Mack
quelle
Dies setzt voraus, dass der Server mit dem alten Zertifikat ausgeführt wird. Nachdem ich meine Zertifikate neu generiert habe, ist alles, was ich habe, die .crt-Datei des alten Zertifikats.
Sridhar Pandurangiah
1

Wenn Sie die Zertifikate über die Zertifizierungsstelle, von der sie generiert wurden, widerrufen haben, haben sie es in OCSP und CRLs geschafft.

Wenn Sie sicherstellen möchten, dass dies der Fall ist, extrahieren Sie bitte die ocsp-URL aus dem Zertifikat und erstellen Sie eine ocsp-Anfrage an diese URL, einschließlich der Seriennummer des Zertifikats, des Zertifikats des Ausstellers und Abrufen der ocsp-Antwort Analysieren Sie es, um zu überprüfen und zu bestätigen, dass es tatsächlich widerrufen wurde.

Weitere Informationen finden Sie auf dieser nützlichen Seite: http://backreference.org/2010/05/09/ocsp-verification-with-openssl/

Hinweis: Dies erfordert die Verwendung der openssl-Bibliothek.

Edit1: Ich sehe, dass Sie Informationen zu OCSP und CRL explizit nach dieser Antwort hinzugefügt haben.

Khanna111
quelle