Faça openssl pkcs8 -topk8
para converter uma chave privada do formato tradicional para o formato pkcs # 8.
Este formato
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----
é referido como "formato SSLeay" ou "formato tradicional" para chave privada.
Não sei qual é o formato da sua chave, por isso demonstrarei a ideia com uma chave privada gerada por genrsa
.
Quando você faz genrsa
no OpenSSL 0.9.8x, a chave gerada está no formato tradicional. Ou seja, depois de
openssl genrsa -out file.key 1024
você receberá uma chave rsa no formato tradicional
-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQC3TyaSzsJO92/Ahq5rxRI1T0JSC0iF...
-----END RSA PRIVATE KEY-----
Em seguida, faça pkcs8
com -topk8
para converter essa chave do formato tradicional para o formato pkcs # 8.
openssl pkcs8 -topk8 -inform pem -in file.key -outform pem -nocrypt -out file.pem
Veja o que você receberá:
-----BEGIN PRIVATE KEY-----
MIICdQIBADANBgkqhkiG9w0BA...
-----END PRIVATE KEY-----
Todos os itens acima são feitos com o OpenSSL 0.9.8x. Ele informa como gerar a chave de formato PKCS # 8 a partir da chave de formato tradicional. Por outro lado, você sempre pode executar isso no OpenSSL 1.0.1 para tornar a chave compatível com a versão anterior:
openssl rsa -in file.pem -text > key.pem