Réponses:
Vous pouvez utiliser l'outil de ligne de commande OpenSSL. Les commandes suivantes devraient faire l'affaire
openssl pkcs12 -in client_ssl.pfx -out client_ssl.pem -clcerts
openssl pkcs12 -in client_ssl.pfx -out root.pem -cacerts
Si vous voulez que votre fichier soit protégé par mot de passe, etc., il existe des options supplémentaires.
Vous pouvez lire toute la documentation ici .
Une autre perspective pour le faire sous Linux ... voici comment le faire pour que le fichier unique résultant contienne la clé privée déchiffrée afin que quelque chose comme HAProxy puisse l'utiliser sans vous demander de mot de passe.
openssl pkcs12 -in file.pfx -out file.pem -nodes
Vous pouvez ensuite configurer HAProxy pour utiliser le fichier file.pem.
Ceci est une EDIT de la version précédente où j'ai eu ces multiples étapes jusqu'à ce que je réalise que l'option -nodes contourne simplement le cryptage de la clé privée. Mais je le laisse ici car cela peut simplement aider à l'enseignement.
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
Vous pouvez ensuite configurer HAProxy pour utiliser le fichier file.combo.pem.
La raison pour laquelle vous avez besoin de 2 étapes distinctes où vous indiquez un fichier avec la clé et un autre sans la clé, est que si vous avez un fichier qui a à la fois la clé cryptée et décryptée, quelque chose comme HAProxy vous invite toujours à taper la phrase de passe lorsque il l'utilise.
Malgré que les autres réponses soient correctes et bien expliquées, j'ai trouvé quelques difficultés à les comprendre. Voici la méthode que j'ai utilisée ( prise à partir d'ici ):
openssl pkcs12 -in filename.pfx -out cert.pem -nodes
Extrait la clé privée d'un PFX dans un fichier PEM:
openssl pkcs12 -in filename.pfx -nocerts -out key.pem
Exporte le certificat (inclut la clé publique uniquement):
openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem
Supprime le mot de passe (paraphrase) de la clé privée extraite (facultatif):
openssl rsa -in key.pem -out server.key