Criando Certificado SSL - Apache

A seguir vou mostrar como criar certificados inválidos para testes de SSL no Apache.

É simples mas pode ser bem útil... tudo bem vai não é tão simples assim, mas com uma receita de bolo do site http://www.akadia.com/services/ssh_test_certificate.html facilita muito.

Passo 1 - Gerar a Chave Privada
Use a ferramenta openssl para gerar a RSA Private Key e a Requisição do Certificado que também pode ser usado para gerar certificados auto-assinados para testes e usos internos.
Para criar uma chave de 1024 bytes, triple DES e RSA execute o seguinte comando:

openssl genrsa -des3 -out server.key 1024


Passo 2 - Gerar o Certificado (CSR)
Com a chave privada gerada é possível gerar o certificado
Ele será enviado para uma autoridade certificadora para ser assinado, como a Thawte ou Verisign, e também pode ser auto-assinado que será nossa opção.
Para gerar a Requisição de Certificado execute o seguinte comando.


openssl req -new -key server.key -out server.csr


complete as informações necessárias onde Common Name é o nome FQDN da máquina que vai hospedar o site.


caso sua máquina chamar public.akadia.com


Country Name (2 letter code) [GB]:CH
State or Province Name (full name) [Berkshire]:Bern
Locality Name (eg, city) [Newbury]:Oberdiessbach
Organization Name (eg, company) [My Company Ltd]:Akadia AG
Organizational Unit Name (eg, section) []:Information Technology
Common Name (eg, your name or your server's hostname) []:public.akadia.com
Email Address []:martin dot zahn at akadia dot ch
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:





Passo 3 - Remover a Passphase da Chave.
Não é necessário, mas se não for feito será preciso digitar a passphrase toda hora que o apache reiniciar.



cp server.key server.key.org
openssl rsa -in server.key.org -out server.key



Passo 4 - Auto Assinando o nosso Certificado
Para gerar o nosso certificado válido por 365 dias execute o seguinte comando:


openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt


o resultado deverá ser esse:


Signature ok
subject=/C=CH/ST=Bern/L=Oberdiessbach/O=Akadia AG/OU=Information
Technology/CN=public.akadia.com/Email=martin dot zahn at akadia dot ch
Getting Private key


Passo 5 - Instalando a chave privada e o certificado


Agora é só copiar as chaves para o local que será indicado no apache, não se esquece de habilitar o mod_ssl (a2enmod ssl)


cp server.crt /usr/local/apache/conf/ssl.crt
cp server.key /usr/local/apache/conf/ssl.key


Passo 6 - Configurando o SSL no Apache
Adicione essas linhas no arquivo de sites padrão, por exemplo default-ssl dentro de /etc/apache/sites-available/default-ssl


SSLEngine on
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
CustomLog logs/ssl_request_log \
   "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"



Passo 7 - Reiniciar e testar o Apache


/etc/init.d/apache2 stop
/etc/init.d/apache2 start
https://public.akadia.com 
ou 
https://seu.hostname.dominio


Comentários

Postagens mais visitadas