Antworten:
Sie können das OpenSSL-Befehlszeilentool verwenden. Die folgenden Befehle sollten den Trick machen
openssl pkcs12 -in client_ssl.pfx -out client_ssl.pem -clcerts
openssl pkcs12 -in client_ssl.pfx -out root.pem -cacerts
Wenn Sie möchten, dass Ihre Datei durch ein Passwort usw. geschützt wird, gibt es zusätzliche Optionen.
Sie können die gesamte Dokumentation lesen hier .
Eine andere Perspektive, um es unter Linux zu tun ... hier ist, wie es gemacht wird, damit die resultierende einzelne Datei den entschlüsselten privaten Schlüssel enthält, so dass etwas wie HAProxy ihn verwenden kann, ohne Sie zur Eingabe einer Passphrase aufzufordern.
openssl pkcs12 -in file.pfx -out file.pem -nodes
Anschließend können Sie HAProxy für die Verwendung der Datei file.pem konfigurieren.
Dies ist eine EDIT aus der vorherigen Version, in der ich diese mehreren Schritte ausgeführt habe, bis mir klar wurde, dass die Option -nodes die Verschlüsselung des privaten Schlüssels einfach umgeht. Aber ich lasse es hier, da es nur beim Unterrichten helfen kann.
openssl pkcs12 -in file.pfx -out file.nokey.pem -nokeys
openssl pkcs12 -in file.pfx -out file.withkey.pem
openssl rsa -in file.withkey.pem -out file.key
cat file.nokey.pem file.key > file.combo.pem
Anschließend können Sie HAProxy für die Verwendung der Datei file.combo.pem konfigurieren.
Der Grund, warum Sie zwei separate Schritte benötigen, in denen Sie eine Datei mit dem Schlüssel und eine andere ohne den Schlüssel angeben, liegt darin, dass Sie, wenn Sie eine Datei haben, die sowohl den verschlüsselten als auch den entschlüsselten Schlüssel enthält, so etwas wie HAProxy immer noch auffordert, die Passphrase einzugeben, wenn es benutzt es.
Obwohl die anderen Antworten richtig sind und gründlich erklärt wurden, hatte ich einige Schwierigkeiten, sie zu verstehen. Hier ist die Methode, die ich verwendet habe ( von hier übernommen ):
openssl pkcs12 -in filename.pfx -out cert.pem -nodes
Extrahiert den privaten Schlüssel aus einem PFX in eine PEM-Datei:
openssl pkcs12 -in filename.pfx -nocerts -out key.pem
Exportiert das Zertifikat (enthält nur den öffentlichen Schlüssel):
openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem
Entfernt das Passwort (Paraphrase) aus dem extrahierten privaten Schlüssel (optional):
openssl rsa -in key.pem -out server.key