Eu estou tentando usar o OpenSSL para converter um arquivo PEM e chave privada RSA para um arquivo PFX. Aqui está o comando de exemplo que eu tentei usar:
openssl pkcs12 -export -out cert.pfx -inkey key.pem -in cert.pem
Ao fazer isso, recebo a seguinte mensagem de erro:
unable to load private key
9068:error:0906D06C:PEM routines:PEM_read_bio:no start
line:pem_lib.c:696:Expecting: ANY PRIVATE KEY
O arquivo cert é assim:
-----BEGIN CERTIFICATE-----
....
-----END CERTIFICATE-----
e a chave privada se parece com isso:
-----BEGIN RSA PRIVATE KEY-----
....
-----END RSA PRIVATE KEY-----
Eu investiguei o erro, mas ainda não encontrei uma solução.
EDITAR
Depois de algumas pesquisas adicionais, parece ser um problema com diferentes versões do openssl.
Se eu executar no meu sistema OSX que está executando 0.9.8zh 14 de janeiro de 2016, estas instruções funcionam bem.
No entanto, se eu executá-lo em uma máquina Windows com a versão OpenSSL 1.0.1p 9 de julho de 2015 e OpenSSL 1.1.0g 2 de novembro de 2017, obtenho os erros acima.
openssl rsa -in <private key filename> -noout -text
mostrar detalhes da chave ou um erro? Talvez o arquivo da chave privada esteja corrompido? Se funcionar, converta-a em uma chave privada PKCS # 8 comopenssl pkcs8 -in <private key file> -topk8 -nocrypt -out <new private key file>
e tente gerar um PKCS # 12 com isso.