linuxparaavida
(usa OpenSuSE)
Enviado em 24/06/2009 - 06:41h
1º=> Editar o seguinte ficheiro de configuração.
/etc/sysconfig/apache2
Acrescentar SSL entre as aspas.
APACHE_SERVER_FLAGS="SSL"
Esta é a linha default antes da configuração.
APACHE_SERVER_FLAGS=""
2º=> Copiar um exemplo de um virtual host "ssl" e nomeá-lo com o nome que quiser-mos
cp /etc/apache2/vhosts.d/vhost-ssl.template /etc/apache2/vhosts.d/serverssl.conf
3º=> Criar um pasta para criar-mos os certificados (podem criar os certificados noutro local)
mkdir /tmp/holdcerts
cd /tmp/holdcerts
4º=> Criar uma chave privada (1024)
openssl genrsa -des3 -out server.key 1024
[enter a password]
[confirm your password]
5º=> Criar um certificado CSR (Certificate Signing Request)
openssl req -new -key server.key -out server.csr
[enter your private key password]
[enter your two character country code]
[enter your full state or province name]
[enter your city name]
[enter your company name]
[enter your organizational unit or leave it blank]
[enter your common name or fqdn]
[enter your admin email address]
[leave the rest of the attributes blank]
6º=> Criar a assinatura para o certificado (CSR (Certificate Signing Request)) e ficamos com um CRT
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
7º=> Copiar a chave privada, acrescentando apenas o ".secure"
cp server.key server.key.secure
=> Remove a palavra pass do teu certificado (private key) e restabelece a chave privada (server.key)
openssl rsa -in server.key.secure -out server.key
[enter your private key password]
8º=> Mover os certificados para os respectivos directórios
mv server.csr /etc/apache2/ssl.csr/server.csr
mv server.crt /etc/apache2/ssl.crt/server.crt
mv server.key /etc/apache2/ssl.key/server.key
mv server.key.secure /etc/apache2/server.key.secure
9º=> Aplicar as devidas restrições por motivos de segurança
chmod 400 /etc/apache2/ssl.csr/server.csr
chmod 400 /etc/apache2/ssl.crt/server.crt
chmod 400 /etc/apache2/ssl.key/server.key
chmod 400 /etc/apache2/server.key.secure
10º=> Agora vamos editar o ficheiro virtual host (SSL) que criamos no inicio /etc/apache2/vhosts.d/serverssl.conf
E modificamos as seguintes linhas
SSLCertificateFile /etc/apache2/ssl.crt/server.crt
Neste caso fica assim, uma vez que o nome dos meus certificados são "server"
Nota: Podem usar qualquer nome para o vosso certificado (Penso que não é permitido caracteres)
SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
11º=> Reiniciar o Apache
/etc/init.d/apache2 restart
E pronto quando digitamos https://localhost e abre com ssl
Nota: O browser diz que a ligação não é segura, porque o certificado é auto-assinado
Muito interessante para quem quer aprender mais sobre este tema, inclusivé para quem tem uma conta dyndns ou noip, e quer verificar a sua página em https.
Todos os comentários são bem vindos
abraço