Criando Um Certificado Ssl Para Testes Com Powershell
Artigo escrito por Rodolfo Fadino Jr e esta disponivel neste link
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


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:


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.


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


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


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:


E nele utilizar a opção importar:


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


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


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




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




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


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