O openssl pkcs12 continua removendo a senha PEM da entrada do keystore?

O openssl pkcs12 continua removendo a senha PEM da entrada do keystore?

OpenSSL 1.0.1e 11 de fevereiro de 2013

Gerando um certificado autoassinado:

openssl req -x509 -newkey rsa:1024 -keyout key.pem -out cert.pem -days 365

Durante o processo umSenha PEMé requerido:

Insira a senha PEM:
Verificando - Insira a senha PEM:

Existem 2 arquivos resultantes após a conclusão bem-sucedida emPEMformatar:

chave.pem, certificado.pem

A chave privada (chave.pem) é emPKCS#8formato e a linha inicial diz:

-----INICIAR CHAVE PRIVADA CRIPTOGRAFADA-----

Agora estou tentando combinar o certificado, bem como a chave privada relacionada, em umPKCS#12keystore e proteja o keystore com umsenha. Nota - no meu entendimento, isso deve efetivamente impor a solicitação de umsenhadurante o acesso de leitura, bem como umsenhapara a chave privada da entrada correspondente:

openssl pkcs12 -export -inkey key.pem -in cert.pem -out keystore.p12

Após a execução, sou questionado sobre o seguinte:

Insira a senha para key.pem:
Insira a senha de exportação:
Verificando - Insira a senha de exportação:

No entanto, é meu entendimento que osenhadeverá permanecer intacto durante ochave privadaque agora está sendo armazenado noarmazenamento de chaves.p12arquivo. Aqui está como tento ler o conteúdo do keystore:

openssl pkcs12 -nodes -info -in keystore.p12

A saída que recebo (relacionada apenas à proteção do keystore com umsenha):

Digite a senha de importação:

E lista o certificado, bem como a chave privada, no formato PEM sem solicitar osenhapara este último. Esse é basicamente o problema. OSenha PEMnão está mais lá parachave privada. O que estou fazendo de errado ou como posso consertar isso? Obrigado.

Responder1

Não há nada errado. É assim que funciona o PKCS12. PKCS12 é um formato para transportar com segurança cadeias de certificados e chaves privadas entre tokens. A proteção/criptografia da chave privada é feita pela senha que você digitou quando solicitado 'Inserir senha de exportação'. Nada como chaves criptografadas duas vezes.

EDIT: Omitir -nodesopção. Isso desativa a criptografia da chave privada.

informação relacionada