Por vários motivos, durante o processo de aquisição do certificado digital, você pode ter perdido sua solicitação de certificado e só possuí agora acesso de download aos certificados que foram gerados. O que impede que o certificado seja instalado e usado corretamente. Aqui ensinaremos como gerar uma nova requisição com os certificados obtidos.
Verificando o certificado que você possuí
Caso você tenha todo o certificado e quer verificar se está com a chave privada, abra o arquivo no Windows e verifique como está (conforme a imagem abaixo):
Estando sem a chave privada, vamos criar uma nova
Criando uma nova chave privada
Abra o mmc, adicione a console Certificates, escolha conta de computador e em seguida selecione computador local. Depois de adicionar essa console, expanda Certificados, clique com o botão direito sobre Personal, escolha a opção Import e importe o certificado.
Agora abra o IIS, clique no nome do servidor e clique em certificados. Dentro de certificados, importe esse certificado que você possuí (sem a chave privada, importe como um certificado do tipo pessoal, não sendo web). Ainda dentro do IIS, clique duas vezes neste certificado, vá em Detalhes, clique em Serial number e copie esse número.
Coloque esse número em um bloco de notas, retire os espaços e copie novamente.
Agora abra o CMD como administrador e execute o seguintes comandos:
cd C:\Temp
certutil -repairstore my numerodeserie_sem_espaços
Com isso, o certificado no IIS deverá agora ter chave privada, clique no certificado e exporte-o para C:\Temp\certificado.pfx (será necessário colocar uma senha).
Exportar a chave como arquivo .key
Caso precise do arquivo .key (para usar em um cervidor Linux, por exemplo), exporte esse arquivo usando os seguintes comandos do OpenSSL.
C:\Pasta_do_openssl\bin\openssl.exe pkcs12 -in C:\Temp\certificado.pfx -nocerts -out C:\Temp\certificado_com_senha.key
Será definida a senha do arquivo .pfx e em seguida será solicitado uma senha para o arquivo .key
C:\Pasta_do_openssl\bin\openssl.exe rsa -in C:\Temp\certificado_com_senha.key -out C:\Temp\certificado.key
Informe a senha (que foi definida no comando acima)
delete C:\Temp\certificado_com_senha.key
Fontes/Referências
https://entrust.com/knowledgebase/ssl/what-are-the-steps-to-recover-the-private-key-of-an-ssl-certificate-in-an-iis-environment
https://medium.com/beingcoders/easy-way-to-convert-pfx-to-crt-key-files-in-10-minutes-683849242c65
https://openssl.org
Mais Informações
Esperamos ter te ajudado e estaremos sempre a disposição para mais informações.
Se você tem interesse em algum assunto específico, tem alguma dúvida, precisa de ajuda, ou quer sugerir um post, entre em contato conosco pelo e-mail equipe@nvlan.com.br.