Configuração de certificado digital em servidores web Apache

Importante! Esta é uma visão geral da configuração de certificados digitais, para mais detalhes, consulte a documentação ofical do Servidor Web Apache.
Recomendamos também a leitura da documentação oficial do Openssl.

Para habilitar o SSL no Apache, precisaremos de:

  • Chave Privada RSA;
  • Certificado assinado;
  • Cadeia de Certificados em formato PEM;
  • Módulo SSL do Apache instalado;
  • Editar o arquivo de configuração SSL do Apache httpd-ssl.conf;

1) Crie um diretório para armazenar os certificados e facilitar a organização:

# mkdir /www/apache/conf/certs

 

2) Renomeie o certificado assinado e a cadeia de certificados para o padrão do Apache:

# mv /www/apache/conf/certs/certificado.pem www/apache/conf/certs/certificado.crt

e

# mv /www/apache/conf/certs/cadeia-de-certificados.pem www/apache/conf/certs/cadeia-de-certificados.crt

 

3) Identifique o Virtual Host que você pretende utilizar com o certificado assinado e substitua ou altere as diretivas correspondentes abaixo:

# Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrase. Note that a kill -HUP will prompt again. Keep
# in mind that if you have both an RSA and a DSA certificate you
# can configure both in parallel (to also allow the use of DSA
# ciphers, etc.)
#SSLCertificateFile "/www/apache/conf/certs/server.crt"
SSLCertificateFile "/www/apache/conf/certs/certificado.crt"
#SSLCertificateFile "/www/apache/conf/server-dsa.crt"

# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# you've both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
#SSLCertificateKeyFile "/www/apache/conf/certs/server.key"
SSLCertificateKeyFile "/www/apache/conf/certs/nome_da_chave.key"
#SSLCertificateKeyFile "/www/apache/conf/server-dsa.key"

# Server Certificate Chain:
# Point SSLCertificateChainFile at a file containing the
# concatenation of PEM encoded CA certificates which form the
# certificate chain for the server certificate. Alternatively
# the referenced file can be the same as SSLCertificateFile
# when the CA certificates are directly appended to the server
# certificate for convinience.
SSLCertificateChainFile "/www/apache/conf/certs/cadeia-de-certificados.crt"
#SSLCertificateChainFile "/www/apache/conf/server-ca.crt"

Obs: Os arquivos certificado.crt e cadeia-de-certificados.crt são arquivos PEM renomeados para o padrão do Apache.

4) Após efetuar as alterações, reinicie o Apache:

# /www/apache/bin/apachectl graceful

ou

# /www/apache/bin/apachectl restart

 

5) Teste a configuração utilizando seu navegador. Acesse o endereço, clique no cadeado e selecione Informações do certificado:

conf-cert_01.png

 

6) Na aba Geral, confira os dados do CertificadoEmissor e o Período de validade;

conf-cert_02_1.png

 

7) Na aba Detalhes, confira a Hierarquia de certificados.

conf-cert_03_1.png