Wie prüfe ich die Gültigkeit eines Zertifikats mit OpenSSL auf Windows?

Melden
  1. Vorbereitung und Installation von OpenSSL auf Windows
  2. Ein Zertifikat laden und anzeigen
  3. Überprüfung des Gültigkeitszeitraums
  4. Prüfung der Zertifikatskette und Vertrauenswürdigkeit
  5. Prüfung einer CRL oder OCSP auf Widerruf
  6. Fazit

Vorbereitung und Installation von OpenSSL auf Windows

Zunächst benötigen Sie OpenSSL auf Ihrem Windows-System. OpenSSL ist ein leistungsfähiges Werkzeug zur Verwaltung und Überprüfung von SSL/TLS-Zertifikaten. Um OpenSSL auf Windows zu installieren, empfiehlt sich die offizielle OpenSSL-Binärdistribution oder z.B. die Installation über das Windows-Subsystem für Linux (WSL). Alternativ können Sie auch vorgefertigte Windows-Builds von vertrauenswürdigen Quellen herunterladen und installieren. Nach der Installation sollten Sie die OpenSSL-Befehlszeile über die Eingabeaufforderung (cmd) oder PowerShell erreichen können.

Ein Zertifikat laden und anzeigen

Ein wichtiger Schritt ist es, das gewünschte Zertifikat in einem Format vorzubereiten, das OpenSSL lesen kann. Übliche Formate sind PEM (.pem, .crt, .cer) oder DER (.der, .cer). PEM ist ein textbasiertes Format und wird häufig bevorzugt. Falls Ihr Zertifikat im DER-Format vorliegt, können Sie es mit OpenSSL in PEM umwandeln.

Sobald Sie das Zertifikat zur Verfügung haben, können Sie dessen Inhalt mit folgendem Befehl anzeigen lassen:

openssl x509 -in pfad\zum\zertifikat.pem -text -noout

Dieser Befehl zeigt ausführliche Informationen wie Aussteller (Issuer), Gültigkeitszeitraum, Seriennummer und verwendete Signaturalgorithmen an. Die Informationen helfen bei der ersten Sichtprüfung insbesondere des Gültigkeitszeitraums.

Überprüfung des Gültigkeitszeitraums

Im ausgegebenen Text finden Sie die Zeilen Not Before und Not After, welche den Zeitraum angeben, in dem das Zertifikat gültig ist. Kontrollieren Sie hier, ob das aktuelle Datum innerhalb dieses Rahmens liegt. Liegt das heutige Datum außerhalb, ist das Zertifikat entweder noch nicht gültig oder bereits abgelaufen.

Prüfung der Zertifikatskette und Vertrauenswürdigkeit

Für eine vollständige Validierung ist nicht nur die Gültigkeit des Zertifikats wichtig, sondern auch, ob es vertrauenswürdig ist, d.h. ob das Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle (CA) signiert wurde und die Zertifikatskette bis zu einer Root-CA intakt ist.

Hierfür benötigen Sie neben dem zu prüfenden Zertifikat auch die Zertifikate der Zwischenstellen (Intermediate CAs) sowie ein Verzeichnis mit den Root-Zertifikaten, die als vertrauenswürdig gelten. Häufig verwendet man den Windows-Zertifikatsspeicher oder eine Sammlung bekannter CA-Zertifikate.

openssl verify -CAfile pfad\zu\rootCA.pem -untrusted pfad\zu\intermediate.pem pfad\zum\zertifikat.pem

Dabei ist -CAfile die Datei mit Root-Zertifikaten, -untrusted die Zwischenstellenzertifikate und zuletzt das eigentliche Zertifikat. OpenSSL versucht damit, die Kette bis zu einer in -CAfile hinterlegten Root-CA aufzubauen. Wenn die Ausgabe pfad\zum\zertifikat.pem: OK lautet, ist die Kette in Ordnung. Ansonsten erhalten Sie Fehlermeldungen, welche darauf hinweisen, dass die Kette nicht valide ist oder bestimmte Zertifikate fehlen.

Prüfung einer CRL oder OCSP auf Widerruf

Neben der Gültigkeit und Vertrauenswürdigkeit sollten Sie auch prüfen, ob das Zertifikat widerrufen wurde. Dies kann mit CRL (Certificate Revocation List) oder OCSP (Online Certificate Status Protocol) erfolgen. OpenSSL unterstützt diese Methoden, erfordert aber zusätzliche Schritte und Zugang zu den entsprechenden CRL- oder OCSP-URLs, welche im Zertifikat enthalten sind.

Für eine einfache CRL-Prüfung laden Sie zuerst die CRL-Datei der Zertifizierungsstelle herunter und nutzen dann:

openssl verify -crl_check -CRLfile pfad\zur\crl.pem -CAfile pfad\zu\rootCA.pem pfad\zum\zertifikat.pem

Alternativ ist die OCSP-Prüfung komplexer und wird meist über spezialisierte Tools oder direkt durch Clients erledigt.

Fazit

Zusammenfassend besteht die Prüfung eines Zertifikats mit OpenSSL unter Windows aus mehreren Schritten. Sie lesen das Zertifikat ein und analysieren dessen Inhalt insbesondere den Gültigkeitszeitraum. Anschließend überprüfen Sie mit den Root- und Intermediate-Zertifikaten die Vertrauenswürdigkeit und die korrekte Zertifikatskette. Optional prüfen Sie zudem den Widerrufsstatus. Mit diesen Maßnahmen lässt sich feststellen, ob ein Zertifikat gültig, vertrauenswürdig und noch nicht widerrufen ist.

0

Kommentare