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 -nodes
opção. Isso desativa a criptografia da chave privada.