P7B Zertifikat in PFX (PKCS#12) konvertieren

Wie kann ich ein P7B Zertifikat in PFX Konvertieren? Bzw. PKCS#7 in das Format PKCS#12 konvertieren.

Dafür brauchst du openssl.

Wenn du ein Windows PC verwendest dann installiere erstmal openssl. Die passende openssl binaries kannst du hier finden.

Bei Linux wie z.B. Ubuntu dürfte openssl bereits vorinstalliert sein. Das kann man in der console leicht prüfen indem man die openssl Version abfragt:

openssl version -a

Sofern es nicht installiert ist, kannst du das mit dem folgenden Befehl (Ubuntu) machen:

sudo apt-get install libssl-dev

P7B Zertifikat (PKCS#7)

Ein P7B Zertifikat wird in einer Datei mit der Endung .p7b gespeichert und beinhaltet keinen Private Key.

PFX Zertifikat (PKCS#12)

Ein PFX Zertifikat wird in einer .pfx Datei gespeichert. Der unterschied ist der, dass eine PFX Datei auch einen Private Key beinhaltet.

Daher um aus einer P7B Datei eine PFX Datei zu generieren benötigst du unbedingt den passenden Private Key.

P7b in PFX Konvertieren

Ich nehme an, dass die wir mit folgenden 2 Dateien arbeiten: zertifikat.p7b und private.key

1. Die P7B Datei vorbereiten

Öffne die zertifikat.p7b Datei mit dem Texteditor (z.B. Notepad++) und prüfe ob die Datei mit „BEGIN CERTIFICATE“ anfängt und mit „END CERTIFICATE“ endet.

Wenn das nicht der Fall ist, dann füge die 2 Zeilen in deine Datei manuell ein:

-----BEGIN CERTIFICATE-----
MIIVJAYJKoZIhvcNAQcCoIIVFTCCFRECAQMIIVJAYJKoZIhvc........
-----END CERTIFICATE-----

2. Die .p7b Datei in .cer konvertieren

Als erstes muss man mit openssl die „.p7b“ in eine „.cer“ Datei konvertieren:

openssl pkcs7 -print_certs -in zertifikat.p7b -out zertifikat.cer

3. Aus der .cer Datei + private Key die PFX erzeugen

Anschließend muss man die neu generierte zertifikat.cer Datei mit dem private Key zusammenführen:

openssl pkcs12 -export -in zertifikat.cer -inkey private.key -out zertifikat.pfx

An dieser Stelle wirst du nun aufgefordert ein Passwort einzugeben um die pfx Datei zu sichern. Bestätige das nochmal mit Enter und fertig!

Fehlermeldungen

Sollte die folgende Fehlermeldung angezeigt werden dann bedeutet das, dass in der .p7b Datei die erste Zeile nicht die „BEGIN CERTIFICATE“ Anweisung beinhaltet

unable to load PKCS7 object
12580:error:0909006C:PEM routines:get_name:no start line:../openssl-1.1.1a/crypto/pem/pem_lib.c:745:Expecting: PKCS7

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert