Como gerar um .pem
certificado CA e um certificado de cliente a partir de um arquivo PFX usando OpenSSL.
Você pode usar a ferramenta de linha de comando OpenSSL. Os seguintes comandos devem resolver o problema
openssl pkcs12 -in client_ssl.pfx -out client_ssl.pem -clcerts
openssl pkcs12 -in client_ssl.pfx -out root.pem -cacerts
Se você deseja que seu arquivo seja protegido por senha, etc., existem opções adicionais.
Você pode ler toda a documentação aqui .
Outra perspectiva para fazer isso no Linux ... aqui é como fazer para que o único arquivo resultante contenha a chave privada descriptografada para que algo como o HAProxy possa usá-la sem solicitar a senha.
openssl pkcs12 -in file.pfx -out file.pem -nodes
Em seguida, você pode configurar o HAProxy para usar o arquivo file.pem.
Esta é uma edição da versão anterior onde eu tinha essas várias etapas até perceber que a opção -nodes simplesmente ignora a criptografia de chave privada. Mas estou deixando aqui, pois pode apenas ajudar no ensino.
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
Em seguida, você pode configurar o HAProxy para usar o arquivo file.combo.pem.
A razão pela qual você precisa de 2 etapas separadas onde você indica um arquivo com a chave e outro sem a chave, é porque se você tiver um arquivo que possui a chave criptografada e descriptografada, algo como o HAProxy ainda solicita que você digite a senha quando ele o usa.
Apesar de as outras respostas serem corretas e bem explicadas, encontrei algumas dificuldades em entendê-las. Aqui está o método que usei ( retirado daqui ):
Primeiro caso: para converter um arquivo PFX em um arquivo PEM que contém o certificado e a chave privada:
Segundo caso: para converter um arquivo PFX em arquivos PEM de chave pública e privada separados:
Extrai a chave privada de um PFX para um arquivo PEM:
Exporta o certificado (inclui apenas a chave pública):
Remove a senha (paráfrase) da chave privada extraída (opcional):
fonte