Certificados SSL 2
Como criar um certificado ssl autoassinado no apache
Fonte: http://blog.luizagostinho.com/?p=569
Esse post é sobre como gerar os certificados SSL no CentOS utilizando o OpenSSL e ativá-los no Apache para permitir conexões criptogradas ao seu servidor Web, para isso precisamos inicialmente instalar os pacotes necessários (caso ainda não estejam instalados):
- yum install mod_ssl openssl
Agora iremos gerar a chave privada:
- openssl genrsa -out ca.key 1024
Gere o arquivo CSR:
- openssl req -new -key ca.key -out ca.csr
bash | copy code | ?
01 You are about to be asked to enter information that will be incorporated 02 into your certificate request. 03 What you are about to enter is what is called a Distinguished Name or a DN. 04 There are quite a few fields but you can leave some blank 05 For some fields there will be a default value, 06 If you enter '.', the field will be left blank. 07
08 Country Name (2 letter code) [GB]:BR 09 State or Province Name (full name) [Berkshire]:Alagoas 10 Locality Name (eg, city) [Newbury]:Maceio 11 Organization Name (eg, company) [My Company Ltd]:Exemplo 12 Organizational Unit Name (eg, section) []: 13 Common Name (eg, your name or your servers hostname) []:www.exemplo.com 14 Email Address []:admin@exemplo.com 15 16 Please enter the following extra attributes 17 to be sent with your certificate request 18 A challenge password []: 19 An optional company name []: OBS.: Common Name deverá ser a URL do serviço, nesse exemplo www.exemplo.com.
Assine o arquivo CSR utilizando a chave privada para gerar o certificado:
- openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
Mova os arquivos para a localização correta:
- mv ca.crt /etc/pki/tls/certs
- mv ca.key /etc/pki/tls/private/ca.key
- mv ca.csr /etc/pki/tls/private/ca.csr
Caso não utilize Virtual Host no seu servidor Apache, basta alterar as linhas abaixo no arquivo de configuração do SSL:
- vim /etc/httpd/conf.d/ssl.conf
bash | copy code | ?
1 SSLCertificateFile /etc/pki/tls/certs/ca.crt 2 SSLCertificateKeyFile /etc/pki/tls/private/ca.key E reinicie o serviço:
- /etc/init.d/httpd restart
Caso utilize Virtual Host será necessário alterar o arquivo de configuração do Virtual Host ao invés do arquivo de configuração do SSL, abra o arquivo e adicione no início do arquivo:
- vim /etc/httpd/conf.d/meu_vhost.conf
bash | copy code | ?
1 NameVirtualHost *:443 E após a configuração do <VirtualHost *:80> adicione a entrada referente ao SSL:
- vim /etc/httpd/conf.d/meu_vhost.conf
bash | copy code | ?
01
02
SSLEngine on
03
SSLCertificateFile /etc/pki/tls/certs/ca.crt
04
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
05
06
AllowOverride All
07
08
DocumentRoot /var/www/vhosts/exemplo.com/htdocs
09
ServerName www.exemplo.com
10 Feito isso reinicie o serviço:
- /etc/init.d/httpd restart
Pronto! Basta acessar seu servidor ou Virtual Host pelo seu navegador/browser preferido utilizando https para verificar o certificado criado!
Abraço!