Zertifikatskette prüfen

Zertifikatskette prüfen im Browser: Server-Zertifikat und Zwischenzertifikate einfügen und Reihenfolge, Aussteller, Signaturen, CA-Kennzeichen und Ablaufdaten kontrollieren.

Datei hinzufügenoder .pem, .crt, .cer hierher ziehen; mehrere Dateien nacheinander
–

 

Kette in richtiger Reihenfolge (nur bei falscher Reihenfolge)

Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

Warum die Kette stimmen muss

Ein Server liefert beim TLS-Handshake nicht nur sein eigenes Zertifikat, sondern eine Certificate Chain: das Server-Zertifikat, danach jedes Zwischenzertifikat (Intermediate Certificate) bis kurz vor die Wurzel. Der Client hängt die passende Wurzel aus seinem eigenen Speicher an. Fehlt ein Zwischenzertifikat oder stimmt die Reihenfolge der Zertifikate nicht, funktionieren manche Clients trotzdem, weil sie fehlende Teile nachladen, andere brechen ab. Besonders häufig betroffen sind Android-Apps, Java, curl, Python und IoT-Geräte.

Mit diesem Werkzeug können Sie eine Zertifikatskette prüfen: Es vergleicht für jedes Zertifikat den Aussteller mit dem Subject des nächsten, prüft die Signatur per WebCrypto mit dem öffentlichen Schlüssel des Ausstellers (RSA PKCS#1 und PSS, ECDSA mit P-256, P-384 und P-521, Ed25519, soweit Ihr Browser es kann), kontrolliert Basic Constraints, Authority und Subject Key ID sowie die Laufzeiten. Ist die Reihenfolge falsch, erhalten Sie eine sortierte Fassung zum Kopieren. Einzelne Zertifikate untersuchen Sie mit dem Zertifikat-Dekoder.

Bei Let's Encrypt und Certbot heißt die richtige Datei für den Server meist fullchain.pem (Server-Zertifikat plus Zwischenzertifikate), nicht cert.pem. In nginx gehört sie in ssl_certificate, in Apache ab Version 2.4.8 in SSLCertificateFile. Grenzen: Das Werkzeug kennt den Zertifikatsspeicher Ihrer Clients nicht und prüft weder Sperrlisten noch OCSP. Es sagt Ihnen, ob die Kette in sich stimmig ist; ob ein bestimmter Client der Wurzel vertraut, hängt von dessen Speicher ab.

Anleitung: Zertifikatskette prüfen in 4 Schritten

  1. Alle Zertifikate der Kette als PEM-Blöcke einfügen, zum Beispiel den Inhalt von fullchain.pem, oder eine Datei wählen.
  2. Im Ergebnis ablesen, ob die Reihenfolge stimmt und ob Probleme gefunden wurden.
  3. In der Tabelle für jedes Zertifikat Aussteller, CA-Kennzeichen, Ablaufdatum und das Ergebnis der Signaturprüfung kontrollieren.
  4. Bei falscher Reihenfolge die sortierte Kette aus „Kette in richtiger Reihenfolge“ kopieren und in den Server übernehmen.

Typische Anwendungsfälle

  • Nach dem Zertifikatswechsel prüfen, warum Android-Geräte oder Java-Clients die Verbindung ablehnen, während Desktop-Browser funktionieren.
  • Eine von der Zertifizierungsstelle gelieferte ZIP-Datei mit mehreren .crt-Dateien in die richtige Reihenfolge bringen.
  • Kontrollieren, ob ein Load Balancer oder Ingress das passende Zwischenzertifikat ausliefert.
  • Testketten aus einer eigenen CA auf Fehler bei Basic Constraints oder Key IDs untersuchen.
Fragen

Häufige Fragen

In welcher Reihenfolge gehören die Zertifikate in die Datei?

Zuerst das Server-Zertifikat, dann das Zwischenzertifikat, das es ausgestellt hat, dann gegebenenfalls dessen Aussteller. Jedes Zertifikat wird vom direkt folgenden signiert. Die Wurzel kann am Ende stehen, ist aber unnötig.

Warum funktioniert die Seite im Browser, aber nicht mit curl?

Desktop-Browser laden fehlende Zwischenzertifikate oft selbst nach oder haben sie zwischengespeichert. curl, Java und viele Apps tun das nicht. Liefern Sie deshalb immer die vollständige Kette aus.

Was bedeutet „nicht prüfbar“ bei der Signatur?

Ihr Browser unterstützt den Algorithmus in WebCrypto nicht, etwa Ed448 oder ältere Verfahren, oder der Aussteller fehlt in der eingefügten Kette. Die übrigen Prüfungen laufen trotzdem.

Woran erkenne ich ein falsches Zwischenzertifikat?

Der Name des Ausstellers passt, aber die Authority Key ID des Zertifikats stimmt nicht mit der Subject Key ID des Zwischenzertifikats überein, und die Signatur ist ungültig. Das passiert, wenn eine Zertifizierungsstelle ihr Zwischenzertifikat erneuert hat.

Gehört das Root-Zertifikat in die Kette auf dem Server?

Nein, es ist überflüssig. Clients vertrauen nur Wurzeln aus ihrem eigenen Speicher; eine mitgelieferte Wurzel wird ignoriert und kostet bei jedem Verbindungsaufbau Bytes.

Wie hole ich die Kette, die mein Server gerade ausliefert?

Mit openssl s_client -connect example.com:443 -servername example.com -showcerts. Kopieren Sie alle Blöcke zwischen BEGIN CERTIFICATE und END CERTIFICATE in dieses Werkzeug.

Weitere Werkzeuge

Das könnte auch helfen

Alle 558 Werkzeuge