Desenvolvedores e administradores de TI têm, sem dúvida, a necessidade de implantar algum site através de HTTPS usando um certificado SSL. Embora esse processo seja bastante direto para um site de produção, para fins de desenvolvimento e teste, você também pode achar necessário usar um certificado SSL aqui.
Como alternativa à compra e renovação de um certificado anual, você pode aproveitar a capacidade do seu Windows Server de gerar um certificado autoassinado que é conveniente, fácil e deve atender a esses tipos de necessidades perfeitamente.
Criação de um certificado autoassinado no IIS
Embora existam várias maneiras de realizar a tarefa de criar um certificado autoassinado, usaremos o utilitário SelfSSL da Microsoft. Infelizmente, isso não é fornecido com o IIS, mas está disponível gratuitamente como parte do IIS 6.0 Resource Toolkit (link fornecido no final deste artigo). Apesar do nome “IIS 6.0”, este utilitário funciona perfeitamente no IIS 7.
Tudo o que é necessário é extrair o IIS6RT para obter o utilitário selfssl.exe. A partir daqui, você pode copiá-lo para o diretório do Windows ou um caminho de rede / unidade USB para uso futuro em outra máquina (para que você não precise baixar e extrair o IIS6RT completo).
Depois de instalar o utilitário SelfSSL, execute o seguinte comando (como administrador) substituindo os valores em <> conforme apropriado:
selfssl / N: CN = <seu.domínio.com> / V: <número de dias válidos>
O exemplo abaixo produz um certificado curinga autoassinado em “mydomain.com” e o define para ser válido por 9.999 dias. Além disso, ao responder sim ao prompt, este certificado é automaticamente configurado para se ligar à porta 443 dentro do site padrão do IIS.
Embora neste ponto o certificado esteja pronto para uso, ele é armazenado apenas no armazenamento de certificados pessoais no servidor. É uma prática recomendada também ter esse certificado definido na raiz confiável.
Vá para Iniciar> Executar (ou tecla Windows + R) e digite “mmc”. Você pode receber um prompt do UAC, aceitá-lo e um console de gerenciamento vazio será aberto.
No console, vá para Arquivo> Adicionar / Remover Snap-in.
Adicione certificados do lado esquerdo.
Selecione Conta de computador.
Selecione Computador local.
Clique em OK para ver o armazenamento de certificados locais.
Navegue até Pessoal> Certificados e localize o certificado que você configurou usando o utilitário SelfSSL. Clique com o botão direito no certificado e selecione Copiar.
Navegue até Autoridades de certificação raiz confiáveis> Certificados. Clique com o botão direito na pasta Certificados e selecione Colar.
Uma entrada para o certificado SSL deve aparecer na lista.
Neste ponto, seu servidor não deve ter problemas para trabalhar com o certificado autoassinado.
Exportando o Certificado
Se você for acessar um site que usa o certificado SSL autoassinado em qualquer máquina cliente (ou seja, qualquer computador que não seja o servidor), a fim de evitar um ataque potencial de erros e avisos de certificado, o certificado autoassinado deve ser instalado em cada uma das máquinas cliente (que discutiremos em detalhes abaixo). Para fazer isso, primeiro precisamos exportar o respectivo certificado para que possa ser instalado nos clientes.
Dentro do console com o Gerenciamento de certificados carregado, navegue até Autoridades de certificação raiz confiáveis> Certificados. Localize o certificado, clique com o botão direito e selecione Todas as tarefas> Exportar.
Quando solicitado a exportar a chave privada, selecione Sim. Clique em Avançar.
Deixe as seleções padrão para o formato de arquivo e clique em Avançar.
Insira uma senha. Isso será usado para proteger o certificado e os usuários não poderão importá-lo localmente sem inserir essa senha.
Insira um local para exportar o arquivo de certificado. Será no formato PFX.
Confirme suas configurações e clique em Concluir.
O arquivo PFX resultante é o que será instalado nas máquinas clientes para informar que o certificado autoassinado é de uma fonte confiável.
Implantando em máquinas clientes
Depois de criar o certificado no lado do servidor e ter tudo funcionando, você pode perceber que quando uma máquina cliente se conecta ao respectivo URL, um aviso de certificado é exibido. Isso acontece porque a autoridade de certificação (seu servidor) não é uma fonte confiável de certificados SSL no cliente.
Você pode clicar nos avisos e acessar o site; no entanto, você pode receber avisos repetidos na forma de uma barra de URL destacada ou avisos de certificado repetidos. Para evitar esse incômodo, você simplesmente precisa instalar o certificado de segurança SSL personalizado na máquina cliente.
Dependendo do navegador que você usa, este processo pode variar. O IE e o Chrome leem no armazenamento de certificados do Windows, no entanto, o Firefox tem um método personalizado para lidar com certificados de segurança.
Nota importante: Você deve Nunca instale um certificado de segurança de uma fonte desconhecida. Na prática, você só deve instalar um certificado localmente se o tiver gerado. Nenhum site legítimo exigiria que você execute essas etapas.
Internet Explorer e Google Chrome - Instalando o certificado localmente
Nota: Mesmo que o Firefox não use o armazenamento de certificados nativos do Windows, esta ainda é uma etapa recomendada.
Copie o certificado que foi exportado do servidor (o arquivo PFX) para a máquina cliente ou certifique-se de que esteja disponível em um caminho de rede.
Abra o gerenciamento de armazenamento de certificado local na máquina cliente usando exatamente as mesmas etapas acima. Você acabará chegando a uma tela como a que está abaixo.
No lado esquerdo, expanda Certificados> Autoridades de certificação raiz confiáveis. Clique com o botão direito na pasta Certificados e selecione Todas as tarefas> Importar.
Selecione o certificado que foi copiado localmente para sua máquina.
Digite a senha de segurança atribuída quando o certificado foi exportado do servidor.
O armazenamento “Autoridades de certificação raiz confiáveis” deve ser preenchido como o destino. Clique em Avançar.
Revise as configurações e clique em Concluir.
Você deve ver uma mensagem de sucesso.
Atualize sua visualização da pasta Autoridades de certificação raiz confiáveis> Certificados e você deverá ver o certificado autoassinado do servidor listado na loja.
Depois de feito isso, você deve conseguir navegar até um site HTTPS que usa esses certificados e não receber avisos ou prompts.
Firefox - Permitindo exceções
O Firefox lida com esse processo de maneira um pouco diferente, pois não lê as informações do certificado da loja do Windows. Em vez de instalar certificados (per se), permite definir exceções para certificados SSL em sites específicos.
Ao visitar um site que contém um erro de certificado, você receberá um aviso como este abaixo. A área em azul indicará o respectivo URL que você está tentando acessar. Para criar uma exceção para ignorar esse aviso no respectivo URL, clique no botão Adicionar exceção.
Na caixa de diálogo Adicionar exceção de segurança, clique em Confirmar exceção de segurança para configurar essa exceção localmente.
Observe que, se um determinado site redireciona para subdomínios de dentro dele, você pode obter vários avisos de segurança (com o URL ligeiramente diferente a cada vez). Adicione exceções para esses URLs usando as mesmas etapas acima.
Conclusão
Vale a pena repetir o aviso acima de que você deve Nunca instale um certificado de segurança de uma fonte desconhecida. Na prática, você só deve instalar um certificado localmente se o tiver gerado. Nenhum site legítimo exigiria que você execute essas etapas.
Links
Baixe o IIS 6.0 Resource Toolkit (inclui o utilitário SelfSSL) da Microsoft