Pack Camo

X.509-Zertifikat-Decoder

Subject, Aussteller, Gültigkeit, SANs und Fingerprints jedes PEM- oder DER-Zertifikats auslesen.

Alles läuft lokal — nichts wird hochgeladen.

Zertifikat

2 Zertifikate

…

Sehen Sie genau, was in einem Zertifikat steht

Dieser Zertifikat-Decoder liest X.509-Zertifikate — die SSL/TLS-Zertifikate jeder HTTPS-Website sowie solche für Client-Authentifizierung, Codesignatur und S/MIME — und zeigt ihren Inhalt: Subject und Aussteller, Gültigkeitsdaten und Tage bis zum Ablauf, Subject Alternative Names, Typ und Größe des öffentlichen Schlüssels, alle Erweiterungen sowie SHA-1- und SHA-256-Fingerprints. Fügen Sie einen oder mehrere PEM-Blöcke oder reines Base64 ein, oder ziehen Sie eine .crt-, .cer-, .der-, .pem- oder .p7b-Datei hinein. Eine vollständige Kette wird Zertifikat für Zertifikat dekodiert, und jede Signatur wird gegen das nächste geprüft. Die Auswertung erfolgt in Ihrem Browser; nichts wird hochgeladen.

So dekodieren Sie ein Zertifikat

  1. 1Fügen Sie das Zertifikat ein, einschließlich der Zeilen -----BEGIN CERTIFICATE----- und -----END CERTIFICATE-----, oder ziehen Sie die Datei auf das Eingabefeld.
  2. 2Lesen Sie die Übersicht: für wen es ausgestellt wurde, wer es ausgestellt hat und ob es heute gültig ist.
  3. 3Prüfen Sie die Subject Alternative Names: Browser gleichen den Hostnamen mit diesen ab, nicht mit dem Common Name.
  4. 4Kopieren Sie einen Fingerprint, um ihn mit einer anderen Kopie zu vergleichen, oder exportieren Sie alles als JSON.

Was steht in einem X.509-Zertifikat?

Ein Zertifikat bindet einen öffentlichen Schlüssel an einen Namen und wird von einem Aussteller signiert, der für diese Bindung bürgt. Das Subject ist der Inhaber des Zertifikats, der Aussteller derjenige, der es signiert hat; beide werden als Distinguished Names geschrieben, etwa CN=example.com, O=Example Inc., C=US. Der Gültigkeitszeitraum nennt den ersten und letzten Zeitpunkt, an dem dem Zertifikat vertraut werden darf, und die Seriennummer identifiziert es eindeutig unter allem, was der Aussteller signiert hat — sie erscheint auf Sperrlisten.

Alles andere steht in den Erweiterungen. Seit Version 3 des Formats, der jedes heute genutzte Zertifikat folgt, tragen sie den größten Teil der Bedeutung: welche Namen abgedeckt sind, wofür der Schlüssel verwendet werden darf, ob er andere Zertifikate signieren darf und wo man prüft, ob das Zertifikat gesperrt wurde.

Die wichtigen Erweiterungen

Subject Alternative Name (SAN)
Die DNS-Namen, IP-Adressen, E-Mail-Adressen und URIs, für die das Zertifikat gilt. Browser ignorieren den Common Name und prüfen nur diese Liste; ein Platzhalter wie <code>*.example.com</code> deckt eine Subdomain-Ebene ab.
Key Usage und Extended Key Usage
Was der Schlüssel darf: signieren, Schlüssel verschlüsseln, Zertifikate signieren; und zu welchem Zweck, etwa TLS-Server-Authentifizierung oder Codesignatur.
Basic Constraints
Ob es sich um eine Zertifizierungsstelle (<code>CA:TRUE</code>) handelt, die andere Zertifikate signieren darf, und wie viele Zwischenebenen folgen dürfen (Pfadlänge).
Authority Information Access und CRL Distribution Points
Wo das Zertifikat des Ausstellers heruntergeladen werden kann, wo sein OCSP-Responder ist und wo seine Zertifikatsperrliste liegt.
Certificate Policies
Welche Validierungsstufe die CA angewendet hat: Domain Validated (DV), Organization Validated (OV) oder Extended Validation (EV).
Signed Certificate Timestamps
Nachweis, dass das Zertifikat in öffentlichen Certificate-Transparency-Logs eingetragen wurde, was Browser für öffentlich vertrauenswürdige TLS-Zertifikate verlangen.

PEM, DER, CRT und CER

DER ist die binäre Kodierung eines Zertifikats (ASN.1 Distinguished Encoding Rules). PEM sind dieselben Bytes in Base64 zwischen -----BEGIN CERTIFICATE------Zeilen, damit sie in Textdateien und E-Mails eingefügt werden können; mehrere PEM-Blöcke in einer Datei bilden eine Kette. Die Endungen .crt und .cer sagen nichts über die enthaltene Kodierung aus — beides ist üblich — und dieser Decoder akzeptiert beide. Eine .p7b-Datei ist ein PKCS#7-Bündel mit mehreren Zertifikaten und wird ebenfalls geöffnet.

Zum Umwandeln auf der Kommandozeile macht openssl x509 -in cert.der -inform der -out cert.pem aus DER ein PEM, und openssl x509 -in cert.pem -noout -text gibt weitgehend dieselben Informationen aus wie diese Seite.

Ketten, selbstsignierte Zertifikate und Fingerprints

Ein Server sollte sein eigenes Zertifikat senden, gefolgt von den Zwischenzertifikaten, die zu einer vertrauenswürdigen Root führen. Wenn Sie hier eine Kette einfügen, wird die Signatur jedes Zertifikats mit dem öffentlichen Schlüssel des nachfolgenden geprüft, sodass Sie auf einen Blick sehen, ob die Reihenfolge stimmt und ob ein Glied fehlt. Ein Zertifikat, bei dem Subject und Aussteller identisch sind und dessen Signatur sich mit dem eigenen Schlüssel prüfen lässt, ist selbstsigniert: entweder eine Root-CA oder ein Testzertifikat.

Ein Fingerprint ist ein Hash des gesamten Zertifikats. SHA-256-Fingerprints sind der Standardweg, Zertifikate zu pinnen oder zu vergleichen; SHA-1-Fingerprints zeigen ältere Werkzeuge wie die Zertifikatsanzeige von Windows noch an. Der SPKI-SHA-256-Hash umfasst nur den öffentlichen Schlüssel und bleibt gleich, wenn ein Zertifikat mit demselben Schlüssel erneuert wird. Um ein Schlüsselpaar für ein neues Zertifikat zu erstellen, nutzen Sie den Schlüsselpaar-Generator.

Häufige Fragen

Wie prüfe ich, wann ein SSL-Zertifikat abläuft?
Fügen Sie das Zertifikat ein und sehen Sie unter Gültigkeit nach: Das Datum Nicht nach ist der Ablaufzeitpunkt, und das Badge zeigt die verbleibenden Tage. Um das Zertifikat einer Website zu bekommen, öffnen Sie es in der Zertifikatsanzeige Ihres Browsers und exportieren es, oder führen Sie openssl s_client -connect example.com:443 -showcerts aus.
Was ist der Unterschied zwischen PEM und DER?
Beide enthalten dasselbe Zertifikat. DER ist binär; PEM ist dieses Binärformat in Base64 mit BEGIN- und END-Zeilen. Dieses Tool liest beides.
Warum meldet mein Browser, dass der Name nicht übereinstimmt?
Der Hostname muss in der Erweiterung Subject Alternative Name stehen. Browser beachten den Common Name nicht mehr, daher wird ein Zertifikat abgelehnt, dessen Name nur im CN steht.
Kann ich eine ganze Zertifikatskette dekodieren?
Ja. Fügen Sie alle PEM-Blöcke zusammen ein, oder ziehen Sie ein .pem- oder .p7b-Bündel hinein. Jedes Zertifikat wird der Reihe nach angezeigt, und jede Signatur wird mit dem Schlüssel des nächsten Zertifikats geprüft.
Was bedeutet selbstsigniert?
Das Zertifikat wurde mit dem eigenen Schlüssel signiert statt von einer separaten CA. Root-CA-Zertifikate sind grundsätzlich selbstsigniert; bei einer Website wird einem selbstsignierten Zertifikat nur dort vertraut, wo es manuell installiert wurde.
Kann das Tool einen privaten Schlüssel oder eine CSR dekodieren?
Nein. Es liest nur Zertifikate und weist Sie darauf hin, wenn Sie stattdessen einen privaten Schlüssel, einen öffentlichen Schlüssel oder eine Zertifikatsignierungsanforderung einfügen.
Ist es sicher, mein Zertifikat hier einzufügen?
Zertifikate sind öffentlich — Server senden sie an jeden Besucher — und die Dekodierung erfolgt ohnehin vollständig in Ihrem Browser. Fügen Sie niemals einen privaten Schlüssel in eine Website ein.