Auto-assinar Certificado do IIS com OpenSSL

Esse procedimento foi testado para Windows XP e Windows Server 2003

1 - Faça o Download do OpenSSL 

Link para download : Win32 OpenSSL v1.0.1c
Talvez precise instalar o Virtual C++ que está disponível na mesma página do link.

2 - Crie seu próprio certificado para assinatura

No prompt de comando do windows acesse o diretório onde foi instalado o OpenSSL, no meu caso é C:\OpenSSL-Win32\Bin\ e execute o openssl



Digite os seguintes comandos:
Crie uma chave privada
genrsa -des3 -out C:\Cert\CA.key 1024
* Precisará determinar uma senha.
** O OpenSSL irá gerar um arquivo CA.key, para segurança configuer-o como "somente leitura".

Crie ocertificado de sua chave privada
req -new -key C:\Cert\CA.key -x509 -days 365 -out C:\Cert\CA.crt
* O OpenSSL irá pedir a senha da chave privada.
** Insira as informações que o OpenSSL requisitar: País, Estado, Cidade, Empresa, etc. Simule as informações como se fosse uma empresa certificadora.
*** Defina o arquivo CA.crt como somente leitura.

3 - Obtenha a solicitação de assinatura de certificado no IIS

  • No IIS clique com o botão direito no site que deseja certificar e selecione "propriedades".
  • Depois  selecione a guia "Segurança de diretório" e clique no botão "Certificado de servidor".
  • Selecione a opção "Criar novo certificado" e clique no botão "Avançar".
Imagem IIS criando
Criando solicitação

  • Selecione a opção "Preparar a solicitação agora, mas enviá-la posteriormente". Clique em "Avançar".
  • No campo "Nome", digite um nome auto-explicativo para facilitar a identificação do certificado.
  • No campo "Comprimento de bit" deixe como está (1024). Clique em "Avançar".
  • Preencha os dados conforme pede o assistente e avance novamente.
  • No Campo "Nome comum" preencha com a URL do site que deseja certificar. exemplo: dominio.com.br
  • Na próxima etapa preencha os campos de informações de localização: País, Estado e cidade. Clique em "Avançar".
  • Na póxima etapa salve o arquivo em C:\Cert\certreq.csr
  • Depois é só avançar e concluir.

4 - Assinar o certificado solicitado

Volte para o prompt de comando do Windows, e digite a seguinte linha no OpenSSL:
x509 -req -days 365 -in C:\Cert\certreq.csr -CA C:\CertCA.crt -CAkey C:\Cert\CA.key -CAcreateserial -out C:\Cert\assinado.crt
* O OpenSSL gera um arquivo assinado que será usado para instalar no IIS.
** 365 é a quantidade de dias para validade do certificado.

5 - Instale o certificado no IIS

  • No IIS clique com o botão direito no site que deseja certificar e selecione "propriedades".
  • Depois  selecione a guia "Segurança de diretório" e clique no botão "Certificado de servidor".
  • Selecione a opção "Processar a solicitação pendente e instalar o certificado" e Avance.
Imagem IIS
Salvando solicitação


  • Clique em procurar para localizar seu certificado assinado. Caso ele venha com o filtro *.cer como padrão, retire o filtro e coleque "Todos os Arquivos (*.*)" para selecionar seu certificado assinado com extensão *.crt
  • Avace e conclua a instalação do certificado.

6 - Atribua Conexão segura ao site

  • No IIS clique com o botão direito no site que deseja certificar e selecione "propriedades".
  • Depois  selecione a guia "Segurança de diretório" e clique no botão "Editar".
Imagem Atribuindo conexão segura
Atribuindo conexão segura

  • Deixe selecionado a opção "Exigir canal seguro (SSL)".
Imagem exigir canal seguro SSL
Exigir canal seguro (SSL)

Obs.: Você pode exigir canal seguro em apenas sub-diretórios, exemplo: dominio.com/admin/
Para isso basta criar um diretório virtual chamado "admin" dentro do site, e nas propriedades dele repetir o passo acima.
Apartir daí só poderá conectar em dominio.com.br/admin/ usando o protocolo https. Assim: https://dominio.com.br/admin/

Aviso!
Todos os certificados auto-assinados não são reconhecidos pelos navegadores, deste modo para obter um certificado reconhecido é necessário enviar o seu arquivo *.csr para ser assinado por um Autoridade Certificadora.

Alguns certificadores:
http://www.validcertificadora.com.br/
http://www.laniway.com.br/br/corporativo/certificado.do
http://www.webplace.com.br/ssl/
http://www.verisign.com.br/
http://www.digicert.com/

Vantagens do certificado auto-assinado

  • Sua conexão será devidamente criptografada garantindo a segurança dos dados na conexão com o servidor. (Gratuito)

Desvantagens do certificado auto-assinado

  • Toda vez que o cliente (usuário) acessar uma de suas páginas seguras o navegador do cliente avisará que o certificado digital dele não foi assinado por uma entidade competente.

Nenhum comentário:

Postar um comentário