Certificados SSL 2

De Slacam_Wiki
Ir para: navegação, pesquisa

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):

  1. yum install mod_ssl openssl

Agora iremos gerar a chave privada:

  1. openssl genrsa -out ca.key 1024

Gere o arquivo CSR:

  1. 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:

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

Mova os arquivos para a localização correta:

  1. mv ca.crt /etc/pki/tls/certs
  2. mv ca.key /etc/pki/tls/private/ca.key
  3. 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:

  1. 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:

  1. /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:

  1. 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:

  1. 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:

  1. /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!

Fonte: http://wiki.centos.org/HowTos/Https