PFX in PEM umwandeln (und zurück)

Windows will PFX, nginx will PEM, Java will PKCS#12. Hier steht, wie du zwischen den Formaten wechselst und welche Stolperfallen es seit OpenSSL 3 gibt.

Welche Formate es gibt

Ohne OpenSSL: im Browser umwandeln

Im Zertifikat-Konverter die PFX-Datei hineinziehen und das Passwort eingeben. Danach lassen sich Zertifikat, Kette und Schlüssel einzeln oder als Bundle herunterladen. Umgekehrt nimmt der Konverter Zertifikat und Schlüssel als PEM und baut daraus eine PFX, wobei fehlende Zwischenzertifikate automatisch ergänzt werden. Die Verarbeitung läuft vollständig im Browser.

PFX → PEM mit OpenSSL

# alles in eine Datei (Schlüssel unverschlüsselt)
openssl pkcs12 -in datei.pfx -out alles.pem -nodes

# nur das Server-Zertifikat
openssl pkcs12 -in datei.pfx -clcerts -nokeys -out server.crt

# nur die Zwischenzertifikate
openssl pkcs12 -in datei.pfx -cacerts -nokeys -out chain.crt

# nur der private Schlüssel
openssl pkcs12 -in datei.pfx -nocerts -nodes -out server.key

Fehler „unsupported“ unter OpenSSL 3

error:0308010C:digital envelope routines::unsupported

Ältere PFX-Dateien sind mit RC2 oder 3DES verschlüsselt. OpenSSL 3 lädt diese Verfahren nur noch im Legacy-Modus. Die Lösung ist der Schalter -legacy:

openssl pkcs12 -legacy -in alt.pfx -out alles.pem -nodes

PEM → PFX mit OpenSSL

openssl pkcs12 -export -out server.pfx \
  -inkey server.key -in server.crt -certfile chain.crt

Windows meldet „Das eingegebene Kennwort ist falsch“

OpenSSL 3 verschlüsselt PFX standardmäßig mit AES-256. Windows Server 2016 und ältere Windows-Versionen können das nicht öffnen und melden ein falsches Kennwort, obwohl es stimmt. Mit 3DES erzeugte Dateien funktionieren überall:

openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt -certfile chain.crt \
  -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg sha1

Der Zertifikat-Konverter erzeugt PFX-Dateien von vornherein mit 3DES und liest sowohl AES- als auch ältere RC2-Dateien.

Welches Format für welchen Server?

FAQ

Ich habe das PFX-Passwort vergessen. Was nun?

Ohne Passwort lässt sich eine PFX nicht öffnen. Wenn das Zertifikat noch auf einem Windows-Server installiert und der Schlüssel als exportierbar markiert ist, kannst du es dort mit neuem Passwort erneut exportieren. Sonst bleibt nur eine Neuausstellung.

Warum fehlen nach dem Umwandeln die Zwischenzertifikate?

Manche PFX-Dateien enthalten nur das Server-Zertifikat. Der Konverter lädt fehlende Zwischenzertifikate über die AIA-Angabe im Zertifikat automatisch nach.

Ist .cer dasselbe wie .crt?

Beides sind nur Endungen für Zertifikate. Der Inhalt kann PEM (Text) oder DER (binär) sein. Öffne die Datei in einem Texteditor: Beginnt sie mit -----BEGIN CERTIFICATE-----, ist es PEM.