Como posso exportar a chave privada de uma cadeia de certificados?

Como posso exportar a chave privada de uma cadeia de certificados?

Eu crio um keystore e a partir desse keystore eu gero um arquivo CSR e quando recebo o Certificado Assinado da CA, importo certificados raiz e intermediários para meu keystore e finalmente meu certificado assinado. Depois de adicionar o certificado assinado, recebi a resposta "a resposta do certificado foi instalada no keystore". Neste formato posso usar meu keystore no Tomcat, porém, para outro contêiner de aplicação preciso apenas de uma chave privada contendo o arquivo codificado em pem. E

keytool -importkeystore -srckeystore server.jks -destkeystore server.pkcs -srcstoretype JKS -deststoretype PKCS12

openssl pkcs12 -in server.pkcs -out server.pem

parece não funcionar. Estou recebendo um arquivo pem que contém apenas informações de certificado e não uma chave privada.

Então, é possível exportar a chave privada após estabelecer uma cadeia de certificados? Se for como?

Responder1

O comando openssl pkcs12 que você usou também deve exportar a chave privada

openssl pkcs12 -in server.pkcs -out server.pem

Acho que o arquivo de entrada p12 não contém a chave privada.

Tem certeza de que não há algum tipo de aviso ao exportar a chave do arquivo p12.

Uma coisa importante é que parece que o JKS suporta uma senha de chave separada e uma senha de armazenamento. Ao exportar o p12 do JKS pode acontecer que a senha do p12 seja diferente da senha da chave. Parece que isso não é suportado pelo openssl (apenas tentei) e resulta em um erro de "descriptografia incorreta". Você deve se certificar de que a senha da chave é igual à senha p12.

Responder2

A chave privada de exportação de uma cadeia de certificados que usei nas seguintes consultas,

keytool -importkeystore -srckeystore server.jks -destkeystore server.pkcs 
-srcstoretype JKS -deststoretype PKCS12

openssl pkcs12 -in thekeystore.p12 -nocerts -nodes -out serverkey.pem

Portanto, a única diferença é adicionar -nodes -nocertsparâmetros, e funciona perfeitamente, também funciona para certificados autoassinados

informação relacionada