sexta-feira, 29 de agosto de 2008

Gerando um certificado SSL

Este tutorial demonstra como criar um certificado SSL (certificado de conexão segura) usando a ferramenta OpenSSL e como configurará-lo no Tomcat.

Requerido:
- Tomcat instalado
- OpenSSL instalado
(ao fim da página deixo os links)

Para gerar o certificado e configurar o Tomcat para rodar suas páginas através do protocolo https, siga as etapas abaixo (clique nas imagens para ver detalhes):

1 - Abra o prompt de comando e vá até a pasta bin que fica dentro do diretório de instalação do OpenSSL.

2 - Digite:

openssl req –config openssl.cnf –new –out <pasta_onde_sera_colocado_o_certificado>\nomeCertificado.csr


3 - Digite uma senha de sua preferência e logo depois a confirme.

4 - Logo depois será requerida uma série de informações que serão inseridas no seu certificado. Veja a seguir um exemplo para essas entradas (estarão em inglês):

-País: BR
-Estado: Minas Gerais
-Cidade: Pouso Alegre
-Nome da Organização: Luis LTDA
-Nome da Unidade Organizacional: Software
-Common Name: l-u-i-s.blogspot.com (ele pede outra informação, mas aqui costuma-se colocar o domínio)
-Email: luis@reborn.com
-Challenge password: pass
-Nome opcional da empresa: Luis&Luis

5 - Digite:

openssl rsa -in privkey.pem -out <pasta_onde_sera_colocado_o_certificado>\nomeCertificado.key

Ao pedir a senha, informe a senha que você criou no passo 3.

6 - Digite:

openssl x509 -in <pasta_onde_sera_colocado_o_certificado>\nomeCertificado.csr -out <pasta_onde_sera_colocado_o_certificado>\nomeCertificado.crt -req -signkey <pasta_onde_sera_colocado_o_certificado>\nomeCertificado.key -days 730

Observe as informações apresentadas na tela.

Obs: 730 é a validade do certificado (730 dias).

7 - Digite:

openssl pkcs12 -export -in <pasta_onde_sera_colocado_o_certificado>\nomeCertificado.crt -inkey <pasta_onde_sera_colocado_o_certificado>\nomeCertificado.key -out <pasta_onde_sera_colocado_o_certificado_invertendo_barra>/nomeCertificado.p12 -name seu.dominio.com –CAfile <pasta_onde_sera_colocado_o_certificado_invertendo_barra>/nomeCertificado.crt -caname seu.dominio.com –chain

Depois entre com a senha e a confirme.


Obs: Observe bem o espaçamento e as barras (em alguns pontos usa-se contra-barra em outros usa-se barra normal).

Pronto! O certificado foi gerado e está dentro da pasta que você definiu.

8 - Agora vamos configurar o Tomcat. Vá até TOMCAT_HOME\conf\server.xml e remova a tag do conector da porta 8080, remova todo o conteúdo do bloco (a tag segue abaixo, no arquivo ela está entre <>):

Connector port="8080" maxThreads="150" minSpareThreads="25"
maxSpareThreads="75" enableLookups="true" redirectPort="8443"
acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"/

e adicione no mesmo local a seguinte a seguinte tag (
o trecho abaixo deve ser colocado entre <>):

Connector port="443" maxhttpheader maxthreads="150" minsparethreads="25" maxsparethreads="75" enablelookups="false" disableuploadtimeout="true" acceptcount="100" keystorefile="C:\pasta\nomeCertificado.p12" keystoretype="PKCS12" keystorepass="suaSenha" debug="0" scheme="https" secure="true" sslenabled="true" clientauth="false" sslprotocol="TLS"/

Não se esqueça de adicionar as informações de seu certificado dentro desta tag.

Pronto, o Tomcat está configurado para rodar pelo https.


9
- Digite o novo endereço de sua aplicação, lembrando que agora ele foi modificado. Por exemplo, se antes você acessava em http://localhost:8080/SuaApp , agora você acessa em https://localhost:443/SuaApp.

Agora ao acessar sua aplicação irá aparecer uma mensagem informando que você está iniciando uma conexão segura.



10
- Para instalar o certificado, ao aparecer a mensagem clique em View Certificate, depois em install certificate.


Pronto, o certificado foi criado, configurado no Tomcat e instalado.

Links:
site Tomcat
site OpenSSL

4 comentários:

Rollidark disse...

Amigo seguindo seu tuto eu consegui criar o certificado e a chave de exportação mas no meu caso n quero o certificado para usar em paginas web e sim para criptografar dados proprios no pc que n seja a chave que o windows gera, enfim como adiciono este certificado pra encriptar os dados ou mesmo adciono ele junto ao do windows como novo usuario?

squallizado@hotmail.com

Luis disse...

Desculpe amigo, mas desconheço o uso de certificados para este tipo de situação...

Marcelo Vieira disse...

Esse certificado fica dando alerta de desconhecido, ou o navegador reconhece tranquilo?

Unknown disse...

Amigo, eu não consegui fazer pelo artigo, mais tem um vídeo no YouTube, ensinando certinho!

Coloca os detalhes no seu artigo pra ajudar a galera!

https://youtu.be/JfRy5coRcCE

Abração!