Konvertieren Sie ein CERT / PEM-Zertifikat in ein PFX-Zertifikat


184

Ich habe ein paar Fragen zum Konvertieren eines PFX in eine Zertifizierungsdatei gesehen, aber ich muss den anderen Weg gehen.

Ich habe zwei Dateien:

bob_cert.cert

bob_key.pem

Ich möchte sie in eine einzelne PFX-Datei konvertieren. Gibt es ein Tool, das dies tut?


16
serverfault.com/a/9717/3202 ist eine großartige Erklärung für Zertifikatsdateiformate, nur zu Ihrer Information
Rory

Antworten:


350
openssl pkcs12 -inkey bob_key.pem -in bob_cert.cert -export -out bob_pfx.pfx

7
Wie kann ich programmgesteuert dasselbe in C # erreichen?
Pankajt

2
Könnten Sie mich in Richtung dieser Beispiele weisen? Ich kann anscheinend nichts finden.
Nick

10
Die Windows-Version von OpenSSL ist unter slproweb.com/products/Win32OpenSSL.html verfügbar . Ich habe es gerade versucht und es hat für diesen Zweck richtig funktioniert.
BrianFinkel

2
Große Liste der gängigen OpenSSL-Befehle unter sslshopper.com/article-most-common-openssl-commands.html
Rory

4
Einige Ergänzungen: -name "friendly name"Legt den Namen fest (der beispielsweise in der Zertifikatliste von Windows angezeigt wird) und -certfile cacert.pemkann zum Hinzufügen der CA-Zertifikate und zum Erstellen der .pfxDatei mit der gesamten Kette verwendet werden.
Pvgoran

22

So geht's unter Windows ohne Tools von Drittanbietern:

  1. Zertifikat in den Zertifikatspeicher importieren. Wählen Sie im Windows Explorer im Kontextmenü "Zertifikat installieren". Geben Sie hier die Bildbeschreibung ein Folgen Sie dem Assistenten und akzeptieren Sie die Standardoptionen "Lokaler Benutzer" und "Automatisch".

  2. Finden Sie Ihr Zertifikat im Zertifikatspeicher. Führen Sie unter Windows 10 die MMC "Benutzerzertifikate verwalten" aus. Unter Windows 2013 heißt die MMC "Zertifikate". Unter Windows 10 sollte sich Ihr Zertifikat standardmäßig unter dem Knoten "Persönlich" -> "Zertifikate" befinden.

  3. Zertifikat exportieren. Wählen Sie im Kontextmenü das Menü "Exportieren ...": Geben Sie hier die Bildbeschreibung ein

    Wählen Sie "Ja, privaten Schlüssel exportieren": Geben Sie hier die Bildbeschreibung ein

    Sie werden sehen, dass die Option .PFX in diesem Fall aktiviert ist: Geben Sie hier die Bildbeschreibung ein

    Geben Sie das Passwort für den privaten Schlüssel an.


11
In Schritt 2 ist mein Zertifikat nicht "Persönlich" -> "Zertifikate". Es wird unter "Andere Personen" -> "Zertifikate" angezeigt, und beim Exportieren wird "Personal Information Exchange (PFX)" deaktiviert. Wissen Sie, wie Sie es aktivieren können?
Gabrielizalo

Ich habe mit dem tragbaren Zertifikatskonverter von DigiCert behoben
Gabrielizalo

13
Sie können keine PEM importieren.
Ross Presser

1
Sie müssen .pem zuerst in .cer umbenennen, damit Windows die Datei als Zertifikat- / private Schlüsseldatei erkennt. Beide Dateierweiterungen können Zertifikate und / oder Schlüssel im ASCII-gepanzerten Klartext- oder Base64 / DER-codierten Binärformat enthalten. Sie können jedoch Cer-Dateien mit integrierten Windows-Dienstprogrammen verwenden.
Mastacheata

9
Die Frage von OP war, wie man es importiert, wenn der private Schlüssel nicht in der Zertifikatdatei enthalten ist, aber Sie zwei Dateien haben: ein CRT und ein PEM (PEM, das den privaten Schlüssel enthält). Diese Antwort funktioniert in diesem Fall nicht.
Masi

16

Ich habe eine PFX-Datei aus .key- und .pem-Dateien erstellt.

So was openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx

Das ist nicht die direkte Antwort, aber vielleicht hilft es jemand anderem.


5

Wenn Sie ein selbstsigniertes Zertifikat haben, das von makecert.exeeinem Windows-Computer generiert wurde , erhalten Sie zwei Dateien: cert.pvkund cert.cer. Diese können mit in einen pfx konvertiert werdenpvk2pfx

pvk2pfxbefindet sich am selben Ort wie makecert(z. B. C:\Program Files (x86)\Windows Kits\10\bin\x86oder ähnlich)

pvk2pfx -pvk cert.pvk -spc cert.cer -pfx cert.pfx
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.