Zertifikate sind eigentlich vom Ablaufverständnis her einfach – aus privatem Teil und öffentlichem Teil kann man ein PFX erzeugen, das sich für dem schnellen Import in Windows-Server eignet. Der Weg über einen bestehenden PK ist deutlich einfacher und schneller als ein neues CSR mit neuem PK und ein neuer Signierungsvorgang.
(Wenn möglich sollte aber natürlich ein neuer Key bevorzugt werden.)
Wie befreie ich den privaten Schlüssel (private Key, PPK) aus einer alten *.PFX Datei?
openssl pkcs12 -in EXAMPLE.pfx -nocerts -out EXAMPLE.key
Nach der Kennworteingabe für die Extraktion und der Kennworteingabe für die verschlüsselte Ablage des Keys liegt die EXAMPLE.key
Datei vor.
Wie erstelle ich aus privatem Schlüssel (*.key) und neuem Zertifikat (*.cer) ein neues PFX (PKCS #12 Archivdatei)?
openssl.exe pkcs12 -export -out EXAMPLE-NEU.pfx -inkey EXAMPLE-PRIVATE-KEY.key -in EXAMPLE-CERTIFICATE.cer
Wenn die CA mehrere Intermediate Zertifikate und/oder ihre eigene Root-CA Zertifikate als eigene Dateien mitliefert, kann man diese mit mehreren -in
Parametern in das PFX auch gleich mit einpacken (die Kette sollte in der richtigen Reihenfolge, angefangen mit dem Root-CA-Zertifikat angegeben werden):
openssl.exe pkcs12 -export -out EXAMPLE-NEU.pfx -inkey EXAMPLE-PRIVATE-KEY.key -in EXAMPLE-RootCA.cer -in EXAMPLE-CA.crt -in EXAMPLE-CERTIFICATE.crt
Alternativ kann auch eine CA-Kette in einer Datei mit dem Parameter -certfile
verwendet werden:
openssl.exe pkcs12 -export -out EXAMPLE-NEU.pfx -inkey EXAMPLE-PRIVATE-KEY.key -in EXAMPLE-CERTIFICATE.crt -certfile CA-CHAIN.cer