Benutzer-Werkzeuge

Webseiten-Werkzeuge


edv:pkcs12_pfx_zertifikat_und_schluessel

Dies ist eine alte Version des Dokuments!


PKCS12/PFX Zertifikat und Schlüssel

siehe auch: Zugehörigkeiten verifizieren (PEM/DER)

https://wikipedia.org/wiki/PKCS_12

Das PKCS #12 Format hat die Dateiendungen .pfx oder .p12

OpenSSL Dokumentation: https://openssl.org/docs/

PKCS12/PFX -> PEM/DER

  • Achtung: Die folgenden Befehle nutzen -nodes, d.h. die Ausgabe ist unverschlüsselt, man kann die Option weglassen, um eine verschlüsselte Ausgabe zu erhalten
  • Die Option -nodes ist neu in OpenSSL 3.0 und ersetzt die nun deprecated Option -nodes, für ältere OpenSSL Versionen einfach die alte Option verwenden
  • Weitere interessante Optionen: clcerts, -cacerts, -chain

PFX-Datei in eine PEM-Datei konvertieren, die sowohl das Zertifikat als auch den privaten Schlüssel enthält

> openssl pkcs12 -in filename.pfx -out filename.pem -nodes

Zertifikat und privaten Schlüssel trennen

> openssl x509 -in filename.pem -out certificate.pem
> openssl rsa -in filename.pem -out key.pem

Zertifikat aus einer PFX-Datei extrahieren:

> openssl pkcs12 -in filename.pfx -nodes -nokeys -out certificate.key

Alternative, bei der keine Bag Attributes ausgegeben werden

> openssl pkcs12 -in filename.pfx -nodes -nokeys | openssl x509 -out certificate.pem

Privater Schlüssel aus einer PFX-Datei extrahieren:

> openssl pkcs12 -in filename.pfx -nodes -nocerts -out filename.key

Alternative, bei der keine Bag Attributes ausgegeben werden

> openssl pkcs12 -in filename.pfx -nodes -nocerts | openssl rsa -out key.pem
PFX-PKCS12_zu_DER-PEM.sh
#!/bin/bash
 
#------------------------------------------------------------------------------#
#
# entpackt eine PFX-Datei zu einer PEM-Datei im DER-Format
#
#------------------------------------------------------------------------------#
 
# openssl pkcs12 -nodes -in www.domain.de.pfx -out www.domain.de.pem
# openssl x509 -noout -text -in www.domain.de.pem
 
if [ -r "${1}" ] ; then
	openssl pkcs12 -nodes -in ${1} -out ${1%.*}.pem && openssl x509 -noout -text -in ${1%.*}.pem
else
	echo "${0} www.domain.de.pfx"
fi
> PFX-PKCS12_zu_DER-PEM.sh www.domain.de.pfx
Enter Import Password:
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
        ...

PEM/DER -> PKCS12/PFX

> openssl pkcs12 -export -out filename.p12 -inkey filename.key -in filename.crt -certfile intermediate.filename.crt
> openssl pkcs12 -info -in filename.p12
/home/http/wiki/data/attic/edv/pkcs12_pfx_zertifikat_und_schluessel.1714395587.txt · Zuletzt geändert: von manfred