Certificados Digitais – Instalar Open SSL no Apache2 sob Ubuntu

Precisei fazer um trabalho sobre Certificados Digitais para a faculdade e quis mostrar na prática. Para isso, pensei em usar Open SSL.

OpenSSL é uma implementação das funções básicas de criptografia dos protocolos SSL e TLS. É escrita em C e pode ser usado em praticamente todos os sistemas operacionais.

O que ele permite, basicamente? Usar o famoso https para abrir uma página segura!

Testei o procedimento abaixo no Apache2 em Ubuntu 10.04 e Ubuntu 12.04 como localhost e funcionou.

Primeiro, você deve ter instalado o servidor Apache na sua máquina. Acessando aqui você lê meu tutorial para instalar um LAMP Server completo em localhost.

Depois de instalar o LAMP Server, abra o navegador e digite http://localhost. Você verá uma página inicial que o Apache instala para testar a configuração inicial. Será importante para você perceber como é o comportamento com e sem https.

Vamos à instalação e configuração do OpenSSL:

Atenção: a responsabilidade por qualquer ação feita em seu sistema é só sua! Na dúvida, não faça nada.

Importante: rode tudo em um terminal como root!

01) a2enmod ssl
02) /etc/init.d/apache2 restart
03) mkdir /etc/apache2/ssl
04) cd /etc/apache2/ssl
05) openssl genrsa -des3 -out server.key 1024
06) openssl req -new -key server.key -out server.csr
07) openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
08) chmod 0400 /etc/apache2/ssl/server.key
09) chmod 0400 /etc/apache2/ssl/server.crt
10) cp /etc/apache2/ssl/server.key server.key.orig
11) openssl rsa -in server.key.orig -out server.key
12) chmod 400 /etc/apache2/ssl/*
13) vim /etc/apache2/sites-available/default-ssl:

Logo abaixo de SSLEngine on você encontrará as linhas abaixo:

SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

Comente-as (adicionando # no início da linha comos as outras linhas de comentário que estarão logo acima) e adicione as linhas abaixo:

SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key

Salve o arquivo.

14) cp /etc/apache2/sites-available/default-ssl /etc/apache2/httpd.conf
15) /etc/init.d/apache2 restart

Em seguida, abra o navegador e digite https://localhost. Se tudo deu certo, você verá a tela abaixo (esta é do Firefox, cada navegador tem uma aparência diferente).

Tela inicial Open SSL

Você já deve ter visto esta tela quando entrou em sites seguros cuja CA (Certification Authority) não estava listada no navegador. Basta adicionar o site como exceção e você verá a página index.html igual à que viu quando acabara de instalar o Apache.

Sugiro que antes de adicionar a exceção, explore as opções para visualizar o certificado e as informações que você configurou na instalação do Open SSL.

Este é um assunto extenso e interessante e de maneira alguma cobri todas as possibilidades neste tutorial mas já é suficiente para você ter uma idéia.

É isso aí, abraço.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s