Skip to content

notas mentais de um nerd

tecnologia e finanças

Menu
  • Inicio
  • Sobre
  • BITcontrol
  • Pesquisar
Menu

Configurando um certificado PFX no apache2

Posted on março 25, 2025

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.

Compartilhe isso:

  • Clique para compartilhar no X(abre em nova janela) 18+
  • Clique para compartilhar no Facebook(abre em nova janela) Facebook
  • Clique para imprimir(abre em nova janela) Imprimir
©2025 notas mentais de um nerd | Design: Newspaperly WordPress Theme