Worum geht’s
Beim Ausrollen eines Zertifikats ist der Klassiker-Fehler: Der Webserver bekommt ein Zertifikat und einen privaten Schlüssel, die nicht zueinander gehören — und startet nicht oder liefert TLS-Fehler. Wer schnell prüfen kann, ob Key und Cert ein Paar sind, spart sich langes Rätselraten. Dieser Skill zeigt das Prinzip und das Tool-Vorgehen.
Konzept
Ein asymmetrisches Schlüsselpaar besteht aus privatem und öffentlichem Schlüssel. Das Zertifikat enthält den öffentlichen Teil. Key und Cert passen genau dann zusammen, wenn der öffentliche Schlüssel im privaten dem öffentlichen Schlüssel im Zertifikat entspricht.
So vergleicht man sie technisch:
- Aus dem privaten Schlüssel den öffentlichen Schlüssel ableiten (er steckt mathematisch
darin) und mit dem im Zertifikat vergleichen — exakt das macht das Tool über
pki.ts. - Klassisch mit openssl vergleicht man den Modulus (bei RSA) bzw. den öffentlichen Punkt
(bei EC), oft als Hash:
openssl x509 -noout -modulus -in cert.pem | openssl md5gegenopenssl rsa -noout -modulus -in key.pem | openssl md5. Gleiche Hashes → Paar.
Schlüsselformate, die dir begegnen:
- PKCS#8 (
-----BEGIN PRIVATE KEY-----): allgemeines Format für RSA/EC. - PKCS#1 (
-----BEGIN RSA PRIVATE KEY-----): RSA-spezifisch. - SEC1 (
-----BEGIN EC PRIVATE KEY-----): EC-spezifisch.
Sicherheitsregel: Der private Schlüssel ist ein Geheimnis. Prüfe ihn lokal im Browser-Tool (client-seitig), niemals auf einem fremden Online-Dienst hochladen.
Schlüssel und Zertifikat gehören zusammen, wenn die Kette geschlossen aufgeht:
Bringe die Zertifikate in Vertrauensreihenfolge: oben die präsentierte (Leaf), unten der Vertrauensanker (Root).
Beispiel-Fall
Aufgabe: Nach einem Zertifikats-Tausch startet nginx nicht: „key values mismatch”.
- Privaten Schlüssel und Zertifikat bereitlegen (PEM).
- Im Matcher beide einfügen: Das Tool leitet aus dem Key den öffentlichen Schlüssel ab und vergleicht ihn mit dem des Zertifikats.
- Match → Key und Cert gehören zusammen; der Fehler liegt woanders (z. B. falsche Datei referenziert, Rechte, Zwischenzertifikat).
- Kein Match → es wurde der falsche Key (oder das falsche Cert) ausgerollt; richtiges Paar suchen, das zum CSR von damals gehört.
- Ergebnis dokumentieren — und den privaten Schlüssel nicht weitergeben.
Anwenden
Die Prüfung läuft client-seitig — der private Schlüssel verlässt deinen Browser nicht.
- Füge den privaten Schlüssel (PKCS#8/PKCS#1/SEC1) und das Zertifikat als PEM ein.
- Lass das Tool den öffentlichen Schlüssel aus dem Key ableiten und mit dem Zertifikat vergleichen.
- Lies das Ergebnis: Match (gleiches Paar) oder Mismatch (falsche Datei).
Selbsttest
Praxis-Challenge
Erzeuge mit openssl ein Schlüsselpaar samt selbstsigniertem Zertifikat und ein zweites, unabhängiges Paar. Prüfe im Matcher die richtige Kombination (Match) und absichtlich eine falsche (Mismatch). Beschreibe in einem Satz, warum der Vergleich nur über den öffentlichen Schlüssel funktioniert.