Dasselbe SSL-Zertifikat kann in mehreren Dateiformaten gespeichert werden. cPanel, Apache und Nginx erwarten das Textformat (PEM), während Windows-Server (IIS) und viele Netzwerkgeräte hingegen eine einzige, passwortgeschützte PFX-Datei erfordern. Dieser Artikel stellt die Formate vor und erläutert, wie Sie diese mit Hilfe von OpenSSL konvertieren können, das unter Linux und macOS standardmäßig verfügbar ist.
Die Formate
| Format | Erweiterung | Inhalt | Wer nutzt diesen Dienst? |
|---|---|---|---|
| PEM | .pem, .crt, .cer, .key |
Text (Base64), beginnend mit der Zeile „-----BEGIN ...-----“. Eine Datei kann mehrere Zertifikate und Schlüssel enthalten. |
cPanel, Apache, Nginx sowie die meisten Linux-Programme |
| DER | .der, .cer |
Das Gleiche wie PEM, nur in binärer Form. | Java, bestimmte Windows-Anwendungen |
| PKCS#7 | .p7b, .p7c |
Er enthält ausschließlich Zertifikate (und Zwischenzertifikate), jedoch keine privaten Schlüssel. | Windows, Tomcat |
| PKCS#12 | .pfx, .p12 |
Das Zertifikat, die Zwischenzertifikate und der private Schlüssel werden in einer einzigen, passwortgeschützten Binärdatei gespeichert. | Windows/IIS, Exchange, Azure, zahlreiche Netzwerkgeräte |
Die Dateiendungen .crt und .cer können irreführend sein: Es kann sich sowohl um das PEM- als auch um das DER-Format handeln. Wenn Sie die Datei mit einem Texteditor öffnen und die Zeile -----BEGIN CERTIFICATE----- sehen, handelt es sich um das PEM-Format.
Im Kundenbereich können Sie auf der Seite „Zertifikate“ das Zertifikat, das Zwischenzertifikat und den privaten Schlüssel (sofern dieser vom Portal erstellt wurde) einzeln sowie zusammen im PEM-Format herunterladen.
Umgestaltung
PEM → PFX (z. B. für Windows-Server)
openssl pkcs12 -export -out pelda.hu.pfx \
-inkey pelda.hu.key -in pelda.hu.crt -certfile ca-bundle.crt
Der Befehl fordert Sie zur Eingabe eines Passworts auf, mit dem die PFX-Datei geschützt wird. Das Passwort muss beim Importieren der Datei eingegeben werden.
OpenSSL 3 erstellt die PFX-Datei mit einer Verschlüsselung, die von älteren Windows-Versionen (z. B. Windows Server 2016) nicht gelesen werden kann. Fügen Sie in diesem Fall den Schalter „-legacy“ hinzu:
openssl pkcs12 -export -legacy -out pelda.hu.pfx \
-inkey pelda.hu.key -in pelda.hu.crt -certfile ca-bundle.crt
PFX → PEM (z. B. für cPanel oder einen Linux-Server)
# A privát kulcs
openssl pkcs12 -in pelda.hu.pfx -nocerts -nodes -out pelda.hu.key
# A tanúsítvány
openssl pkcs12 -in pelda.hu.pfx -clcerts -nokeys -out pelda.hu.crt
# A köztes tanúsítványok
openssl pkcs12 -in pelda.hu.pfx -cacerts -nokeys -out ca-bundle.crt
Aufgrund des Schalters „-nodes“ ist der ausgegebene private Schlüssel nicht passwortgeschützt; behandeln Sie ihn daher vertraulich.
DER ↔ PEM
# DER → PEM
openssl x509 -inform der -in pelda.hu.der -out pelda.hu.crt
# PEM → DER
openssl x509 -outform der -in pelda.hu.crt -out pelda.hu.der
P7B → PEM
openssl pkcs7 -print_certs -in pelda.hu.p7b -out pelda.hu.pem
Nützliche Überprüfungen
Anzeige der Zertifikat-Daten (auf wen das Zertifikat ausgestellt ist, wer es ausgestellt hat, wie lange es gültig ist):
openssl x509 -in pelda.hu.crt -noout -subject -issuer -dates -ext subjectAltName
Gehören das Zertifikat und der private Schlüssel zusammen? Die Ausgabe der beiden Befehle muss übereinstimmen:
openssl x509 -in pelda.hu.crt -noout -pubkey | openssl sha256
openssl pkey -in pelda.hu.key -pubout | openssl sha256
Falls der Schlüssel abweicht, gehört er zu einem anderen Zertifikat (beispielsweise zu einer früheren CSR). In diesem Fall lässt cPanel die Installation des Zertifikats ebenfalls nicht zu. Suchen Sie den richtigen Schlüssel oder erstellen Sie einen neuen Schlüssel und eine neue CSR und beantragen Sie das Zertifikat erneut.
Weitere Möglichkeiten zur Überprüfung des Ablaufdatums werden im Artikel „Wie kann ich überprüfen, wann mein SSL-Zertifikat abläuft?“ behandelt, während der Artikel „Was ist ein Zwischenzertifikat (CA-Bundle)?“ sich mit Zwischenzertifikaten befasst.