in Desenvolvimento

Criando um certificado SSL para testes com PowerShell

Recentemente estava trabalhando com alguns desenvolvimentos e testes que necessitavam de um certificado SSL em meu ambiente de desenvolvimento. Neste post vou mostrar como emitir um certificado com PowerShell, e adicionar ele como confiável em nosso computador.


Cenário

No meu ambiente eu tenho uma entrada no hosts configurada para o domínio que estava utilizando como testes ser respondido pelo meu localhost:

C:\Windows\System32\drivers\etc\hosts

127.0.0.1       www.dominioteste.com.br

image

Além disto, utilizava um certificado auto assinado que tinha sido gerado pelo IIS, porém mesmo após “confiar” no certificado pelo meu navegado, ele ainda estava apresentando erros no navegador:

image

Este erro se dá, principalmente pois ao emitir um certificado auto assinado pelo IIS ele emite para o nome completo do computador, e não para o domínio que estamos utilizando de teste.

image

Emitindo um certificado com PowerShell

Para emitir um certificado vamos utilizar precisar abrir uma instancia de PowerShell e utilizar o seguinte comando:

New-SelfSignedCertificate -certstorelocation Cert:\CurrentUser\My -dnsname www.dominioteste.com.br

image

Vamos copiar o Thumbprint e utilizar ele para exportar o certificado.

Após copiar o Thumbprint, precisamos criar uma senha para o certificado que vamos exportar:

$pwd = ConvertTo-SecureString -String "minhasenha" -Force -AsPlainText

Com a senha criada, podemos exportar o certificado com o seguinte comando:

Export-PfxCertificate -cert Cert:\CurrentUser\My\96F42D55959FD4EE82EEFF66B758CBAD1FF2AC37 -FilePath c:\temp\www.dominioteste.com.br.pfx -Password $pwd

image

Feito isso temos nosso certificado pronto, agora vamos adicionar ele no IIS.

Basta abrir o IIS, e no nível de servidor utilizar a opção Certificados do Servidor:

image

E nele utilizar a opção importar:

image

Após ter importado nosso certificado, podemos configurar ele no website:

image

O último passo que será necessário é adicionar nosso certificado na pasta de confiáveis no nosso computador, para isto basta abrir a parte de gerenciamento de certificados do computador:

//run certmgr.msc

image

E importar o certificado dentro da pasta “Autoridades de Certificação Raiz Confiáveis”

image

image

Após importar, ao acessar nosso site novamente teremos o certificado funcionando 100% (as vezes é necessário reiniciar o computador) \o/

image

image

 

Em resumo, estes são os comandos para criar e exportar o certificado, lembrando que o Thumbprint muda Alegre

New-SelfSignedCertificate -certstorelocation Cert:\CurrentUser\My -dnsname www.dominioteste.com.br

##96F42D55959FD4EE82EEFF66B758CBAD1FF2AC37

$pwd = ConvertTo-SecureString -String "minhasenha" -Force -AsPlainText

Export-PfxCertificate -cert Cert:\CurrentUser\My\96F42D55959FD4EE82EEFF66B758CBAD1FF2AC37 -FilePath c:\temp\www.dominioteste.com.br.pfx -Password $pwd

Espero que este post seja útil, estou a disposição para dúvidas, criticas ou sugestões.

abs

Rodolfo