Para transformar um certificado .pfx
em um formato que o Apache2 possa interpretar (geralmente um certificado .crt
e uma chave privada .key
), siga os passos abaixo:
1. Extrair a chave privada (.key)
Execute o seguinte comando OpenSSL para extrair a chave privada do arquivo .pfx
:
openssl pkcs12 -in certificado.pfx -nocerts -out chave_privada.key -nodes
certificado.pfx
? Substitua pelo nome do seu arquivo.pfx
.chave_privada.key
? Será o arquivo de saída contendo a chave privada.-nodes
? Mantém a chave sem criptografia (opcional, mas útil para evitar digitar senha ao reiniciar o Apache).
? Se o .pfx
tiver senha, você será solicitado a digitá-la.
2. Extrair o certificado público (.crt)
Agora, extraia o certificado público:
openssl pkcs12 -in certificado.pfx -clcerts -nokeys -out certificado.crt
certificado.crt
? Será o arquivo de saída contendo o certificado público.
3. (Opcional) Remover a senha da chave privada (se aplicável))
Se você usou -nodes
no passo 1, ignore esta etapa. Caso contrário, remova a senha da chave privada com:
openssl rsa -in chave_privada.key -out chave_sem_senha.key
4. Configurar o Apache2
Agora, mova os arquivos gerados para um diretório seguro (ex.: /etc/ssl/private/
) e configure o Apache.
Exemplo de configuração no Virtual Host (SSL):
<VirtualHost *:443> ServerName seu-dominio.com.br SSLEngine on SSLCertificateFile /etc/ssl/certs/certificado.crt SSLCertificateKeyFile /etc/ssl/private/chave_privada.key # Se houver uma cadeia de certificados (intermediários) # SSLCertificateChainFile /caminho/para/cadeia.crt </VirtualHost>
Certificado intermediário (se necessário)
Se o seu certificado requer uma cadeia de confiança (ex.: Let’s Encrypt, GoDaddy, DigiCert), você pode precisar baixar o certificado intermediário e concatená-lo ao seu .crt
:
cat certificado.crt intermediario.crt > certificado_completo.crt
E no Apache:
SSLCertificateFile /etc/ssl/certs/certificado_completo.crt
5. Reinicie o Apache
sudo systemctl restart apache2
Verificações
- Teste a configuração do Apache
sudo apache2ctl configtest - Verifique se o SSL está funcionando:
openssl s_client -connect seu-dominio.com.br:443 -servername seu-dominio.com.br
Pronto! Seu Apache2 agora está usando o certificado convertido do .pfx
.