Como obter um certificado SSL Wildcard de graça – Cloud Squad
15/08/2018 23/09/2018 Carlos Oliveira 1990 visualizações 0 comentários min de leitura
Para realizar este passo a passo, você precisará dos seguintes componentes:
Uma assinatura do Microsoft Azure Ativa;
Permissão para provisionar um plano básico no Azure App Service;
Domínio próprio registrado publicamente;
Para este laboratório, criei um aplicativo web no wordpress chamado http://www.testecloud.com.br e atualmente já está publicado e registrado.
Criando o certificado SSL
Acesse a página https://www.sslforfree.com/ e na página principal insira o seu domínio conforme a imagem abaixo:
Insira seu domínio desta maneira: *.dominio.com.br, dominio.com.br. Isso garantirá que não só os hosts do seu domínio, mas também a raiz dele, utilizem da mesma thumbprint na hora de configurar a bind do certificado;
Clique em Create Free SSL Certificate, em seguida, vá para o rodapé da página e clique em Manually Verify Domain;
Você receberá dois registros de DNS que deverão ser inseridos no seu DNS público. Insira os registros conforme informado. No meu caso estou, o gerenciamento é feito pelo Azure DNS.
Obtendo informação dos registros:
Inserindo registros no meu DNS público (Clique aqui para ver como gerenciar seu DNS no Azure):
Se vocês notarem eu deixei o TTL em 1 segundo. Isso acontece porque a próxima etapa exige a validação dos registros para ver se está tudo certo para a criação do certificado.
Clique em "Verify _acme-challenge.dominio.com.br" e você será direcionado para uma nova página que irá fazer uma checagem da propagação do DNS. Isso acontece porque primeiro você deve provar que você é dono do domínio o qual você quer obter o certificado SSL. Quando estiver propagado e replicado você verá uma tela mais ou menos assim:
Ao receber esta tela está tudo certo, só clicar em Download SSL Certificate
O conteúdo de cada certificado será mostrado na próxima tela e se você quiser, pode salvar os arquivos para utilização posterior. Ou então, mais facilmente, você pode baixar o certificado + chave privada por um arquivo zip. É só rolar a página mais para baixo e clicar em Download All SSL Certificate Files.
Pronto, terminamos a parte inicial de obter o certificado!
Certificados SSL criado para um host específico têm validade de 90 dias. No entanto, certificados Wildcard têm validade de 60 dias. Sendo assim, recomendo que você se registre para ser notificado sobre a expiração do certificado SSL.
Convertendo o certificado e importando ao Web App
Converter o certificado
O primeiro ponto é, os web apps do Azure aceitam apenas arquivos .pfx e será necessário utilizar uma senha para tal. Utilize sua console bash porque nesta etapa vamos usar o OpenSSL para fazer esta conversão. Não vou abordar tanto sobre como abrir o bash ou abrir o OpenSSL então vou me restringir às etapas principais.
Pegue o arquivo zip e descompacte;
Acesse a pasta e você encontrará 3 arquivos: certificate.crt, private.key e ca_bundle.crt;
Abra o bash e insira este comando:
Converter um certificado CER para PFX
openssl pkcs12 -export -out webappssl.pfx -inkey private.key -in certificate.crt -certfile ca_bundle.crt
Defina uma senha para o seu certificado;
Confirme e o seu certificado estará pronto!
Importando o certificado no Aplicativo Web
Esta configuração funciona tanto para aplicativos web baseados em Windows ou Linux. O que você precisa se atentar é que para ter suporte ao SSL você deve usar um App Service na camada Básica ou superior.
Faça o Upload do SSL em Upload Certificate na blade SSL Settings.
Mantenha a opção Private certificate (.pfx)
Clique em Select a File para selecionar o arquivo .pfx e insira a senha que foi definida anteriormente.
Clique em Upload e o certificado será carregado para o WebApp
Se tudo der certo, você verá uma notificação de sucesso
Depois de carregado, seu certificado SSL estará disponível no acervo do Azure, juntamente com a data de validade dele. Ele estará disponível na tela SSL Settings, próximo ao rodapé.
Na área Bindings, dentro do SSL Settings, nós vamos adicionar dois bindings: um para o host www.testecloud.com.br e outro para testecloud.com.br, desta forma, mesmo que os usuários utilizem a raiz do domínio, será utilizado o certificado.
Em Hostname, selecione qual o host você deseja amarrar ao certificado. Em Private certificate Thumbprint Selecione o Thumbprint que aponta aos domínios *.dominio.com.br e dominio.com.br. Por fim, mantenha o SSL Type como SNI SSL.
Um último toque seria finalizar obrigando sempre utilizar protocolo HTTPS ao acessar seu aplicativo web. Vá para SSL Configuration e ative a configuração, conforme mostra a figura:
Para saber se deu certo, basta acessar a URL de seu webapp. Aparecendo a notificação de Seguro significa que seu aplicativo já está trabalhando com HTTPS
Neste post vocês tiveram a oportunidade de criar gratuitamente um certificado SSL e publicá-lo em uma aplicação web hospedada no Azure. Claro que, por ser um certificado SSL Wildcard, você poderá utilizá-lo com várias outras situações e quis deixar esta como uma das formas.