Schritt 2: Zertifikate extrahieren
Worum es geht
NunSie müssenzerlegen die PFX-Datei in drei PEM-Dateien. Dadurch lassen sich Schlüssel, Domainzertifikat und Zertifikatskette beim Import eindeutig zuordnen.
Terminal vorbereiten
Öffnen Sie das Terminal im Arbeitsordner mit der privatePFX-Datei und prüfen Sie die Version:
openssl version
Die folgenden Befehle setzen OpenSSL 3 oder neuer voraus. Wenn stattdessen LibreSSL oder eine ältere OpenSSL-Version angezeigt wird, verwenden Sie für diesen Ablauf eine aktuelle OpenSSL-Installation.
Unter macOS und Linux beschränken Sie die Rechte neu erzeugter Dateien in dieser Terminal-Sitzung vorab:
umask 077
Unter Windows schützen Sie den Arbeitsordner über die Dateiberechtigungen Ihres Benutzerkontos.
Drei Dateien erzeugen
Ersetzen Sie bechtle.pfx durch den tatsächlichen Dateinamen. Lassen Sie die Anführungszeichen stehen, insbesondere bei Leerzeichen im Namen. Führen Sie jeden Befehl einzeln aus und fahren Sie nur fort, wenn keine Fehlermeldung erscheint.
1. Privaten Schlüssel undextrahieren
Dazu starten wir ein Terminal und geben die folgenden beiden Befehle ein.Es wird dabei ein Passwort abgefragt. Dieses Passwort identisch mit demjenigen, welches wir zuvor für das Entpacken der .zip Datei benutzt haben.
openssl pkcs12 -in <xxx>.pfx"bechtle.pfx" -nocerts -noenc -out priv-key.pem
-nodes
2. dieDomainzertifikat Zertifikats-Kette:extrahieren
openssl pkcs12 -in <xxx>.pfx"bechtle.pfx" -clcerts -nokeys -out certificate.pem
3. Zertifikate der Zertifizierungsstellen extrahieren
openssl pkcs12 -in "bechtle.pfx" -cacerts -nokeys -out ca-certificates.pem
Geben Sie jeweils bei Enter Import Password das Passwort der PFX-Datei ein. Bei der Eingabe werden üblicherweise keine Zeichen angezeigt. Schreiben Sie das Passwort nicht direkt in den Befehl.
-noenc erzeugt einen unverschlüsselten privaten Schlüssel, wie ihn der Hetzner-Import benötigt. Die bisherige Option -nodes ist in OpenSSL 3 veraltet. Die PEM-Datei muss deshalb besonders geschützt bleiben. Die Trennung nach Schlüssel, Domain- und CA-Zertifikaten folgt den OpenSSL-PKCS#12-Optionen.
priv-key.pem
Privater Schlüssel
Privater Schlüssel / Schlüsselblock
certificate.pem
Domainzertifikat
Öffentlicher Schlüssel / Zertifikatsblock
ca-certificates.pemMitgelieferte CA-Zertifikate Zwischenzertifikate / CA Blöcke
Domain und Gültigkeit prüfen
Zeigen Sie die Zertifikatsdaten an:
openssl x509 -in certificate.pem -noout -subject -issuer -dates -ext subjectAltName
Prüfen Sie die enthaltenen Domainnamen unter Subject Alternative Name sowie notBefore und notAfter. Das Zertifikat muss bereits gültig sein und das erwartete neue Ablaufdatum besitzen. Angaben zu Organisation oder Aussteller können sich gegenüber der vorherigen Lieferung ändern.
Prüfen Sie anschließend jeden vorgesehenen Hostnamen, beispielsweise:
openssl x509 -in certificate.pem -noout -checkhost anmeldung.bechtle-events.com
Ersetzen Sie den Beispielnamen durch die tatsächliche Domain. Das Ergebnis muss bestätigen, dass der Name passt. Diese Prüfung kontrolliert die Namensabdeckung, nicht die vollständige Vertrauenskette. Die Optionen sind in der OpenSSL-x509-Dokumentation beschrieben.
Gehören Schlüssel und Zertifikat zusammen?
Erzeugen Sie aus beiden Dateien jeweils den öffentlichen Schlüssel:
openssl pkey -in priv-key.pem -pubout -out key-public.pem
openssl x509 -in certificate.pem -pubkey -noout -out cert-public.pem
Beide Befehle müssen ohne Fehler enden. Vergleichen Sie anschließend die Prüfsummen:
openssl dgst -sha256 key-public.pem cert-public.pem
Die beiden Hashwerte müssen identisch sein; die angezeigten Dateinamen unterscheiden sich. Bei Abweichungen nicht importieren, sondern prüfen, ob Dateien aus verschiedenen Lieferungen vermischt wurden. -pubout gibt nur den öffentlichen Anteil aus; siehe OpenSSL pkey.pfx
Zertifikatskette kontrollieren
Öffnen Sie certificate.pem und ca-certificates.pem in einem lokalen Texteditor. Das Domainzertifikat sollte als ein einzelner Zertifikatsblock vorliegen. In der CA-Datei können mehrere Blöcke stehen.
Wenn die CA-Datei leer ist, fehlen im PFX möglicherweise die Zwischenzertifikate. Fordern Sie die passende Kette bei der zuständigen Zertifikatsbetreuung an. Verwenden Sie nicht ungeprüft die Kette einer alten Lieferung. Bei mehreren Domainzertifikaten lassen Sie vor dem Import klären, welches zum geprüften Schlüssel gehört.
Häufige Fehler
Mac verify error / ungültiges Passwort
Passwort der aktuellen PFX-Lieferung prüfen; gegebenenfalls Datei erneut aus dem Originalarchiv entpacken.
unsupported mit Hinweis auf RC2-40-CBC
Bei einer älteren PFX-Verschlüsselung kann -legacy zum Lesen benötigen. Den betroffenen openssl pkcs12-Befehl mit dieser Option wiederholen.
-noenc wird nicht erkannt
Mit openssl version prüfen, ob tatsächlich OpenSSL 3 oder neuer verwendet wird.
Domainprüfung schlägt fehl
Hostnamen und aktuelle Zertifikatslieferung abgleichen; nicht für diese Domain aktivieren.
Unterschiedliche Hashwerte
Schlüssel und Zertifikat stammen nicht aus einem passenden Paar; Dateien erneut zuordnen.
Beispiel für das Lesen einer älteren PFX-Datei:
openssl pkcs12 -legacy -in "bechtle.pfx" -nocerts -noenc -out priv-key.pem
Nutzen Sie -legacy nur bei entsprechendem Lesefehler; die OpenSSL-Dokumentation beschreibt diesen Fall ausdrücklich.
Ergebnis dieses Schritts: Schlüssel und Zertifikat passen zusammen, die vorgesehenen Domainnamen und Gültigkeitsdaten sind geprüft, die CA-Zertifikate liegen vor.
Weiter: Schritt 3: Bei Hetzner einrichten und freigeben.
Zurück: Schritt 1: Grundlage.