Jawaban:
Anda dapat menggunakan alat baris Perintah OpenSSL. Perintah berikut harus melakukan triknya
openssl pkcs12 -in client_ssl.pfx -out client_ssl.pem -clcerts
openssl pkcs12 -in client_ssl.pfx -out root.pem -cacerts
Jika Anda ingin file Anda dilindungi kata sandi dll, maka ada opsi tambahan.
Anda dapat membaca seluruh dokumentasi di sini .
Perspektif lain untuk melakukannya di Linux ... berikut adalah cara melakukannya sehingga file tunggal yang dihasilkan berisi kunci pribadi yang didekripsi sehingga sesuatu seperti HAProxy dapat menggunakannya tanpa meminta Anda memasukkan frasa sandi.
openssl pkcs12 -in file.pfx -out file.pem -nodes
Kemudian Anda dapat mengkonfigurasi HAProxy untuk menggunakan file file.pem.
Ini adalah EDIT dari versi sebelumnya di mana saya melakukan beberapa langkah ini sampai saya menyadari opsi -nodes hanya dengan melewati enkripsi kunci pribadi. Tetapi saya akan meninggalkannya di sini karena itu mungkin hanya membantu dalam pengajaran.
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
Kemudian Anda dapat mengkonfigurasi HAProxy untuk menggunakan file file.combo.pem.
Alasan mengapa Anda memerlukan 2 langkah terpisah di mana Anda menunjukkan file dengan kunci dan satu lagi tanpa kunci, adalah karena jika Anda memiliki file yang memiliki kunci terenkripsi dan didekripsi, sesuatu seperti HAProxy masih meminta Anda untuk mengetikkan kata sandi saat itu menggunakannya.
Meskipun jawaban lain benar dan dijelaskan secara menyeluruh, saya menemukan beberapa kesulitan untuk memahaminya. Berikut adalah metode yang saya gunakan ( Diambil dari sini ):
openssl pkcs12 -in filename.pfx -out cert.pem -nodes
Ekstrak kunci pribadi dari PFX ke file PEM:
openssl pkcs12 -in filename.pfx -nocerts -out key.pem
Mengekspor sertifikat (hanya mencakup kunci publik):
openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem
Menghapus kata sandi (parafrase) dari kunci pribadi yang diekstrak (opsional):
openssl rsa -in key.pem -out server.key