Exportieren Sie Zertifikate und privaten Schlüssel aus einer PKCS # 12-Datei mit OpenSSL

Hinweis: Dieser Artikel gilt nicht für Code-Signatur- und Dokumentsignaturzertifikate von SSL.com. Die privaten Schlüssel dieser Zertifikatstypen können nicht exportiert und nicht als PFX-Dateien generiert werden. SSL.com-Code-Signatur- und Dokumentensignaturzertifikate und ihre privaten Schlüssel können nur im generiert und gespeichert werden eSigner-Cloud-Signaturumgebung, eine Yubikey Gerät oder ein unterstütztes Gerät Cloud-HSM.

Diese Anleitung führt Sie durch das Extrahieren von Informationen aus einer PKCS # 12-Datei mit OpenSSL. PKCS # 12 (auch als PKCS12 oder PFX bekannt) ist ein Binärformat zum Speichern einer Zertifikatkette und eines privaten Schlüssels in einer einzigen verschlüsselbaren Datei. PKCS # 12-Dateien werden häufig zum Importieren und Exportieren von Zertifikaten und privaten Schlüsseln auf Windows- und MacOS-Computern verwendet und haben normalerweise die Dateinamenerweiterungen .p12 or .pfx.

Melden Sie sich hier für den Newsletter von SSL.com an, um weitere hilfreiche Anleitungen und die neuesten Nachrichten zur Cybersicherheit zu erhalten:

Was ist OpenSSL?
OpenSSL ist ein sehr nützliches Open-Source-Befehlszeilen-Toolkit für die Arbeit mit X.509 Zertifikate, Zertifikatsignierungsanforderungen (CSRs) und kryptografische Schlüssel. Wenn Sie eine UNIX-Variante wie Linux oder macOS verwenden, ist OpenSSL wahrscheinlich bereits auf Ihrem Computer installiert. Wenn Sie OpenSSL unter Windows verwenden möchten, können Sie es aktivieren Linux-Subsystem von Windows 10 oder installieren Cygwin. Sie können auch leicht erstellen eine PKCS # 12-Datei mit openSSL.

SSL.com bietet eine Vielzahl von SSL /TLS Serverzertifikate für HTTPS-Websites.

VERGLEICHEN SSL /TLS ZERTIFIKATE

Video

https://www.youtube.com/watch?v=S_imVMFOdhU

Ersetzen Sie in allen unten gezeigten Beispielen die Namen der Dateien, für die Sie tatsächlich arbeiten INFILE.p12, OUTFILE.crt und OUTFILE.key.

Anzeigen der PKCS # 12-Informationen auf dem Bildschirm

So speichern Sie alle Informationen in einer PKCS # 12-Datei auf dem Bildschirm in PEM-FormatVerwenden Sie diesen Befehl:

openssl pkcs12 -info -in INFILE.p12 -Knoten

Sie werden dann aufgefordert, das Kennwort der PKCS # 12-Datei einzugeben:

Importkennwort eingeben:

Geben Sie das Kennwort ein, das beim Erstellen der PKCS # 12-Datei eingegeben wurde, und drücken Sie enter. OpenSSL gibt alle Zertifikate und privaten Schlüssel in der Datei auf dem Bildschirm aus:

Taschenattribute localKeyID: AC 3E 77 9A 99 62 84 3D 77 CB 44 0D F9 78 57 7C 08 28 05 97 subject = / CN = Aaron Russell/emailAddress=*********@gmail.com issuer = / C = US / ST = Texas / L = Houston / O = SSL Corp / CN = SSL.com Client-Zertifikat Intermediate CA RSA R1 ----- BEGIN CERTIFICATE ----- MIIF1DCCA7ygAwIBAgIQcOrAJCMayJsZBKJsyz / aQDANBgkqhkiG9w0BAQsFADB + MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24x ETAPBgNVBAoMCFNTTCBDb3JwMTowOAYDVQQDDDFTU0wuY29tIENsaWVudCBDZXJ0 ... bwK6ABAZUq6QcvhD0LYsXya + ncDCR6wxb9E0DWd4ATQMzxGTu / yE3kT + 9Ef6IY + n armh3HZUfan2Hb64YD0tjLMca / PC + sKAZu28gB / 3HQRHIFugvh6RO3bIoorl0jUg 1Ml2rU-

Privaten Schlüssel verschlüsseln

Wenn Sie den privaten Schlüssel verschlüsseln und vor der Ausgabe mit einem Kennwort schützen möchten, lassen Sie einfach den weg -nodes Flag vom Befehl:

openssl pkcs12 -info -in INFILE.p12

In diesem Fall werden Sie aufgefordert, ein neues Kennwort einzugeben und zu überprüfen, nachdem OpenSSL Zertifikate ausgegeben hat, und der private Schlüssel wird verschlüsselt (beachten Sie, dass der Text des Schlüssels mit beginnt -----BEGIN ENCRYPTED PRIVATE KEY-----):

Geben Sie PEM Passphrase: Verifizieren - Geben Sie PEM Passphrase: ----- BEGIN VERSCHLÜSSELT PRIVATE KEY ----- MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIGwhJIMXRiLQCAggA MBQGCCqGSIb3DQMHBAiXdeymTYuedgSCBMjwGg78PsqiNJLfpDFbMxL98u3tK9Cs ... SGVCCBj5vBpSbBXAGbOv74h4satKmAMgGc8SgU06geS9gFgt / wLwehMJ / H4BSmex 4S / 2tYzZrDBJkfH9JpggubYRTgwfAGY2BkX03dK2sqfu + QVTVTKMj2VI0sKcFfLZ bdw = ----- END VERSCHLÜSSELTE PRIVAT SCHLÜSSEL-----

Nur Zertifikate oder privaten Schlüssel extrahieren

Wenn Sie nur den privaten Schlüssel ausgeben möchten, fügen Sie hinzu -nocerts zum Befehl:

openssl pkcs12 -info -in INFILE.p12 -nodes -nocerts

Wenn Sie nur die Zertifikate benötigen, verwenden Sie -nokeys (und da wir uns nicht mit dem privaten Schlüssel befassen, können wir ihn auch sicher weglassen -nodes):

openssl pkcs12 -info -in INFILE.p12 -nokeys

Speichern Sie Zertifikate und private Schlüssel in Dateien

Sie können die Zertifikate und den privaten Schlüssel aus einer PKCS # 12-Datei exportieren und im PEM-Format in einer neuen Datei speichern, indem Sie einen Ausgabedateinamen angeben:

openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt -nodes

Sie werden erneut aufgefordert, das Kennwort der PKCS # 12-Datei einzugeben. Wie zuvor können Sie den privaten Schlüssel verschlüsseln, indem Sie den entfernen -nodes Flag aus dem Befehl und / oder hinzufügen -nocerts or -nokeys um nur den privaten Schlüssel oder die Zertifikate auszugeben. Um eine private Schlüsseldatei zu generieren, können wir diesen Befehl verwenden:

openssl pkcs12 -in INFILE.p12 -out OUTFILE.key -nodes -nocerts

Verwenden Sie Folgendes, um eine Datei zu erstellen, die nur die Zertifikate enthält:

openssl pkcs12 -in INFILE.p12 -out OUTFILE.crt -nokeys

Konvertieren Sie den privaten Schlüssel in das PKCS # 1-Format

In den Beispielen wird vor allem der private Schlüssel in der OpenSSL-Standardeinstellung ausgegeben PKCS # 8 Format. Wenn Sie wissen, dass Sie brauchen PKCS # 1 Stattdessen können Sie die Ausgabe des OpenSSL-Dienstprogramms PKCS # 12 je nach Schlüsseltyp an das Dienstprogramm RSA oder EC weiterleiten. Beide folgenden Befehle geben eine Schlüsseldatei im PKCS # 1-Format aus:

RSA

openssl pkcs12 -in INFILE.p12 -nodes -nocerts | openssl rsa -out OUTFILE.key

ECDSA

openssl pkcs12 -in INFILE.p12 -nodes -nocerts | openssl ec -out OUTFILE.key

Hinweis: Sie können den Unterschied zwischen privaten PKCS # 8- und PKCS # 1-Schlüsseldateien anhand der ersten Textzeile erkennen. PKCS # 1-Dateien geben den Algorithmus an:
-----BEGIN RSA PRIVATE KEY-----

PKCS # 8-Dateien zeigen den Algorithmus nicht und können auch verschlüsselt sein:
-----BEGIN PRIVATE KEY-----
or
-----BEGIN ENCRYPTED PRIVATE KEY-----


Vielen Dank, dass Sie sich für SSL.com entschieden haben! Bei Fragen wenden Sie sich bitte per E-Mail an Support@SSL.com, Anruf 1-877-SSL-SECUREoder klicken Sie einfach auf den Chat-Link unten rechts auf dieser Seite.

Abonnieren Sie den Newsletter von SSL.com

Verpassen Sie keine neuen Artikel und Updates von SSL.com

Bleiben Sie informiert und sicher

SSL.com ist ein weltweit führendes Unternehmen im Bereich Cybersicherheit, PKI und digitale Zertifikate. Melden Sie sich an, um die neuesten Branchennachrichten, Tipps und Produktankündigungen von zu erhalten SSL.com.

Wir würden uns über Ihr Feedback freuen

Nehmen Sie an unserer Umfrage teil und teilen Sie uns Ihre Meinung zu Ihrem letzten Kauf mit.