Risposte:
È possibile utilizzare lo strumento della riga di comando di OpenSSL. I seguenti comandi dovrebbero fare il trucco
openssl pkcs12 -in client_ssl.pfx -out client_ssl.pem -clcerts
openssl pkcs12 -in client_ssl.pfx -out root.pem -cacerts
Se vuoi che il tuo file sia protetto da password ecc., Allora ci sono opzioni aggiuntive.
Puoi leggere l'intera documentazione qui .
Un'altra prospettiva per farlo su Linux ... ecco come farlo in modo che il singolo file risultante contenga la chiave privata decrittografata in modo che qualcosa come HAProxy possa usarlo senza richiedere la passphrase.
openssl pkcs12 -in file.pfx -out file.pem -nodes
Quindi puoi configurare HAProxy per utilizzare il file file.pem.
Questa è una MODIFICA dalla versione precedente in cui ho eseguito questi passaggi multipli fino a quando non ho realizzato che l'opzione -nodes ignora semplicemente la crittografia della chiave privata. Ma lo lascio qui perché potrebbe solo aiutare con l'insegnamento.
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
Quindi puoi configurare HAProxy per utilizzare il file file.combo.pem.
Il motivo per cui hai bisogno di 2 passaggi separati in cui indichi un file con la chiave e un altro senza la chiave, è perché se hai un file che ha sia la chiave crittografata che quella decrittografata, qualcosa come HAProxy ti chiede comunque di digitare la passphrase quando lo usa.
Nonostante le altre risposte siano corrette e spiegate in modo esauriente, ho trovato alcune difficoltà a comprenderle. Ecco il metodo che ho usato ( preso da qui ):
openssl pkcs12 -in filename.pfx -out cert.pem -nodes
Estrae la chiave privata da un PFX in un file PEM:
openssl pkcs12 -in filename.pfx -nocerts -out key.pem
Esporta il certificato (include solo la chiave pubblica):
openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem
Rimuove la password (parafrasi) dalla chiave privata estratta (opzionale):
openssl rsa -in key.pem -out server.key