Como criar um arquivo .cer de certificado?

11

Eu gostaria de trabalhar com certificados e a autoridade de terceiros me envia valores:

-----BEGIN CERTIFICATE-----
[...]Many letters and digits[...]
-----END CERTIFICATE-----

-----BEGIN RSA PRIVATE KEY-----
[...]Many letters and digits[...]
-----END RSA PRIVATE KEY-----

Mas eu preciso de um arquivo .cer para colocar no meu IIS. Como posso criar este arquivo .cer?

Agradecemos antecipadamente por qualquer resposta.

splattne
fonte

Respostas:

14

O que você recebeu é um certificado (a parte pública, assinada por uma parte confiável) e a chave associada (a parte privada). Em termos simples, é a chave privada que permite que seu aplicativo assine coisas de uma maneira que a parte remota possa validar usando a parte pública, o certificado. Seu servidor precisa ter os dois vinculados para que protocolos como SSL \ TLS possam funcionar corretamente.

No seu caso, você recebeu um par completo, não apenas o Cert. O formato que você recebeu é chamado de PEM e, infelizmente, o Gerenciador de Certificados do Windows não pode importá-lo nativamente (pelo que sei).

A maneira mais rápida que encontrei para convertê-lo é instalar o OpenSSL em algum lugar e converter o arquivo que você tem no formato PKCS # 12 usando o seguinte comando. Você precisará dividir o arquivo obtido da CA em duas partes, uma contendo o bloco de certificado chamado "certificate.txt" e outra contendo o bloco de chave privada chamado "key.txt":

openssl pkcs12 -export -out mycertkey.p12 -in certificate.txt -inkey key.txt

Depois de ter o arquivo no formato PKCS # 12, você pode importá-lo para o Windows:

  • Abra o MMC (Iniciar -> Executar -> MMC.exe) e selecione adicionar \ remover snap-in e adicione o snap-in Certificados.
  • Selecione "Conta do computador" como contexto.
  • Clique com o botão direito do mouse na pasta "Pessoal" e selecione a opção "Tarefas> Importar"
  • Localize o arquivo mycertkey.p12 criado e importe o certificado e a chave privada no armazenamento de certificados do computador.

Depois que o certificado estiver instalado, você poderá atribuí-lo no IIS (isso pode variar um pouco dependendo da versão do IIS)

  • Abra o console de gerenciamento do IIS e clique com o botão direito do mouse no domínio ao qual deseja atribuir o certificado.
  • Selecione Propriedades
  • Selecione a guia "Segurança do diretório" e, em seguida, "Certificados do servidor"
  • Siga as instruções do Assistente de certificados, selecione Avançar, selecione "Atribuir certificado" e Avançar novamente.
  • Localize e selecione o certificado que você acabou de importar e clique em OK.

Isso deve resolver.

Helvick
fonte
obrigado pela sua resposta detalhada, mas o openssl me diz: Carregando 'screen' em estado aleatório - não foi possível carregar a chave privada
1
e agora, eu tenho um "nenhum certificado corresponde à chave privada"
1
Possivelmente algo corrompeu ao dividir o arquivo no formato PEM. Se você tentar o comando Openssl usando o arquivo original da sua CA, tanto no arquivo -in quanto no arquivo -inkey, ele também deve funcionar. Se ele corresponder ao par, será solicitada uma senha para o arquivo de saída p12.
Helvick
1
deve ser isso, reexportei o arquivo e está tudo bem. Muito obrigado pela vossa ajuda.
1
No seu comando openssl, alterar o nome do arquivo de saída de mycertkey.p12 para mycertkey.pfx permitirá uma importação mais fácil. PFX é uma extensão de arquivo registrada no Windows que você pode clicar duas vezes para iniciar o assistente de importação de certificados.
Ryan Bolger
1

Este artigo aborda o processo de criação de uma solicitação de certificado e instalação do certificado depois que a autoridade de assinatura (GoDaddy, Thawte etc.) emitiu seu certificado.

ThatGraemeGuy
fonte