SSL-Zertifikatsparser

Fügen Sie ein PEM-Zertifikat ein und lesen Sie es als Tabelle: Aussteller, Subjekt, abgedeckte Namen, Gültigkeitsfenster, Fingerabdruck — vollständig in Ihrem Browser geparst. Eine optionale crt.sh-Abfrage zeigt den Certificate-Transparency-Verlauf derselben Domain. Was ein Server gerade jetzt präsentiert, sehen Sie stattdessen mit dem SSL-Prüfer.

Ein Zertifikat parsen

Certificate-Transparency-Verlauf (optional)

Durchsuchen Sie crt.sh nach jedem öffentlich protokollierten Zertifikat, das je für eine Domain ausgestellt wurde. Das ist Geschichte, keine Live-Prüfung: Es zeigt, was ausgestellt wurde, einschließlich Zertifikaten, die Sie vielleicht nicht erkennen. Ist crt.sh aus diesem Browser nicht erreichbar, sagt dieser Abschnitt das klar, und der Parser oben bleibt unberührt.

Ein Zertifikat lesen

Ein Zertifikat bindet drei Dinge zusammen: einen öffentlichen Schlüssel, eine Liste von Namen und ein Gültigkeitsfenster — alles von einem Aussteller signiert. Das Subjekt sagt, für wen das Zertifikat ausgestellt wurde; der Aussteller sagt, welche Stelle es signiert hat — dort leben die Erneuerungen, wenn Sie eine Infrastruktur erben. Die Seriennummer ist die eindeutige Kennung des Ausstellers für dieses Zertifikat, nützlich, wenn eine Stelle ein Zertifikat widerruft, ohne seine Geschwister anzutasten. Der Signaturalgorithmus sagt Ihnen, wie die Signatur des Ausstellers erzeugt wurde; alles, was noch auf MD5 oder SHA-1 läuft, ist weit über sein Ruhestandsdatum hinaus und sollte unabhängig vom Ablaufdatum ersetzt werden.

Das Gültigkeitsfenster ist der Teil mit einer Frist, und diese Seite verwandelt ihn in eine Zählung der verbleibenden Tage mit derselben Farbgebung wie der Live-Prüfer: komfortabel jenseits von neunzig Tagen, Bernstein innerhalb von neunzig, Rot innerhalb von dreißig und klar abgelaufen jenseits der Null. Die Liste der abgedeckten Namen ist das, was Browser tatsächlich prüfen — der Common Name ist überkommene Dekoration, und ein fehlender Name in dieser Liste ist die häufigste Ursache für eine Browserwarnung auf einer ansonsten gesunden Site. Der SHA-256-Fingerabdruck ist eine kompakte Kennung für die exakten Zertifikat-Bytes: Zwei Zertifikate mit demselben Fingerabdruck sind dasselbe Zertifikat, was ihn zum verlässlichen Weg macht, das, was Sie in Händen halten, mit dem zu vergleichen, was ein Protokoll, ein Anbieter oder ein Kollege behauptet.

Parser gegen Live-Prüfung gegen Transparenzprotokoll

Drei verschiedene Fragen, drei verschiedene Werkzeuge, und sie zu verwechseln verursacht echte Verwirrung. „Was enthält diese Datei?“ ist der Parser auf dieser Seite — offline, exakt, begrenzt auf die Datei, die Sie haben. „Was präsentiert der Server gerade jetzt?“ ist der SSL-Prüfer, der einen echten TLS-Handshake ausführt und deshalb von der Datei abweichen kann: Ein erneuertes Zertifikat auf der Platte bedeutet nichts, bis der Server neu geladen wird. „Was wurde je für diese Domain ausgestellt?“ ist die crt.sh-Suche, die öffentliche Certificate-Transparency-Protokolle liest und vergessene oder unbefugte Ausstellungen ans Licht bringen kann, die keine der beiden anderen zeigen würde. Nutzen Sie den Parser, um eine Datei zu lesen, den Prüfer, um eine Bereitstellung zu verifizieren, und die Protokollsuche, um den Verlauf zu auditieren — und wenn Prüfer und Datei sich widersprechen, glauben Sie dem Prüfer. Eine vierte Frage gehört zu einem anderen Werkzeug: ob mehrere Dateien zusammengehören — welcher private Schlüssel zu diesem Zertifikat passt und in welcher Reihenfolge die Kette präsentiert werden sollte — ist der Zertifikat- & Schlüssel-Matcher, der Zertifikate, Schlüssel und CSRs nach ihrem gemeinsamen öffentlichen Schlüssel gruppiert.

Das Parsen von Zertifikaten nutzt node-forge, verwendet unter der BSD-3-Clause-Lizenz. Online-Abfragen senden die Domain, die Sie eingeben, an crt.sh; der PEM-Parser selbst stellt keine Netzwerkanfrage.

Häufige Fragen

Wie unterscheidet sich das vom SSL-Prüfer?

Der SSL-Prüfer führt einen Live-TLS-Handshake gegen einen Server aus und meldet das Zertifikat, das der Server gerade tatsächlich präsentiert. Diese Seite parst Zertifikatstext, den Sie einfügen — nützlich, wenn Sie eine Zertifikatsdatei haben, einen CSR-Arbeitsablauf oder ein Zertifikat aus einem System, das Sie von hier aus nicht erreichen können. Erreichen Sie die Site, nutzen Sie den SSL-Prüfer; haben Sie nur die Datei, nutzen Sie diese Seite.

Was fügt crt.sh hinzu?

crt.sh durchsucht öffentliche Certificate-Transparency-Protokolle: jedes öffentlich vertrauenswürdige Zertifikat, das je für eine Domain ausgestellt wurde, mit Aussteller und Gültigkeitsdaten. Es beantwortet „was wurde ausgestellt“ — einschließlich Zertifikaten, die Sie nicht erwartet haben. Es kann Ihnen nicht sagen, was ein Server heute präsentiert; das kann nur ein Live-Handshake.

Warum könnte die crt.sh-Abfrage scheitern?

crt.sh ist ein kostenloser Dienst Dritter, und ob ein Browser seine Antworten lesen kann, hängt von seinen Cross-Origin-Headern ab. Scheitert es hier, sagt die Seite das klar, und der PEM-Parser oben arbeitet weiter — die Online-Abfrage ist eine Erweiterung, nicht das Werkzeug.

Was sagen mir SANs, was der Common Name nicht sagt?

Moderne Browser ignorieren den Common Name und prüfen stattdessen die Liste der Subject Alternative Names. Ein Zertifikat gilt exakt für die Namen in dieser Liste: Die bloße Domain ohne www oder eine vergessene Subdomain ist die häufigste Ursache für eine Browserwarnung auf einer ansonsten gesunden Site.

Leakt das Einfügen eines Zertifikats etwas?

Ein Zertifikat ist von Konstruktion wegen ein öffentliches Dokument — es enthält keinen privaten Schlüssel und nichts Geheimes. Der private Schlüssel ist eine separate Datei und darf niemals irgendwo eingefügt werden. Das Parsen hier geschieht ohnehin vollständig in Ihrem Browser.