Todos os artigos sobre SSL SSL e certificados

Formatos de Certificado SSL: PEM, PFX, DER Explicados

Certificados SSL e chaves privadas podem ser armazenados em vários formatos de arquivo. O conteúdo é o mesmo — é a codificação e o empacotamento que diferem. A maior confusão vem de precisar de um formato específico para seu servidor.

Comparação de formatos

FormatoExtensãoCodificaçãoContémUsado por
PEM.pem, .crt, .cer, .keyBase64 (texto)Certificado, chave ou cadeia (um por arquivo)Nginx, Apache, maioria dos servidores Linux
DER.der, .cerBinárioCertificado ou chave únicoJava, alguns aplicativos Windows
PFX/PKCS#12.pfx, .p12BinárioCertificado + chave + cadeia em um arquivoWindows IIS, Azure, macOS Keychain

PEM — o formato mais comum

PEM (Privacy Enhanced Mail) é texto codificado em base64. Você pode abri-lo em um editor de texto:

-----BEGIN CERTIFICATE-----
MIIFYjCCBEqgAwIBAgISA8ht...
(dados codificados em base64)
-----END CERTIFICATE-----

Arquivos PEM podem conter certificados, chaves privadas ou cadeias de certificados. O cabeçalho indica o que está dentro:

  • BEGIN CERTIFICATE — um certificado
  • BEGIN PRIVATE KEY — uma chave privada (ou BEGIN RSA PRIVATE KEY / BEGIN EC PRIVATE KEY)
  • BEGIN CERTIFICATE REQUEST — um CSR

O GetHTTPS gera no formato PEMprivkey.pem, cert.pem, chain.pem, fullchain.pem.

DER — codificação binária

DER é a forma binária dos mesmos dados que o PEM codifica como texto. Não é legível por humanos. Usado principalmente por aplicativos Java (keytool) e alguns componentes Windows.

PFX/PKCS#12 — formato empacotado

PFX (Personal Information Exchange) empacota o certificado, chave privada e cadeia em um único arquivo protegido por senha. Windows IIS, Azure App Service e macOS Keychain exigem este formato.

Convertendo entre formatos

Todas as conversões usam OpenSSL:

PEM → PFX

openssl pkcs12 -export \
  -out certificate.pfx \
  -inkey privkey.pem \
  -in cert.pem \
  -certfile chain.pem

Você será solicitado a definir uma senha de exportação.

PFX → PEM

# Extrair certificado
openssl pkcs12 -in certificate.pfx -clcerts -nokeys -out cert.pem

# Extrair chave privada
openssl pkcs12 -in certificate.pfx -nocerts -nodes -out privkey.pem

# Extrair cadeia
openssl pkcs12 -in certificate.pfx -cacerts -nokeys -out chain.pem

PEM → DER

openssl x509 -in cert.pem -outform DER -out cert.der

DER → PEM

openssl x509 -in cert.der -inform DER -outform PEM -out cert.pem

Qual formato eu preciso?

Servidor/PlataformaFormatoArquivos necessários
NginxPEMfullchain.pem + privkey.pem
ApachePEMcert.pem + chain.pem + privkey.pem
IIS (Windows)PFXcertificate.pfx (converter de PEM)
Azure App ServicePFXcertificate.pfx
AWS (ACM)PEMcert.pem + chain.pem + privkey.pem (colar no console)
Java (Tomcat)JKS ou PFXConverter PEM → PFX → JKS com keytool
Node.jsPEMLer arquivos diretamente no código

Como identificar o formato de um arquivo

Não tem certeza do formato de um arquivo? Verifique:

# Se começa com "-----BEGIN" — é PEM (texto base64)
head -1 mystery-file.pem

# Se é binário (texto ilegível) — é DER ou PFX
file mystery-file.cer
# Saída como "data" ou "certificate" = DER
# Saída como "PKCS12" = PFX

# Inspecionar um certificado PEM
openssl x509 -in cert.pem -noout -text

# Inspecionar um certificado DER
openssl x509 -in cert.der -inform DER -noout -text

# Inspecionar um arquivo PFX
openssl pkcs12 -in cert.pfx -info -nokeys

Confusão comum com extensões de arquivo

ExtensãoGeralmente significaMas pode ser
.pemPEM (base64)Sempre PEM
.crtCertificado PEMDER no Windows
.cerCertificado PEMDER no Windows
.keyChave privada PEMDER (raro)
.pfxPacote PKCS#12Sempre PFX
.p12Pacote PKCS#12Sempre PFX (mesmo que .pfx)
.derDER (binário)Sempre DER
.jksJava KeyStoreSempre JKS

Regra prática: Abra o arquivo em um editor de texto. Se você vir -----BEGIN CERTIFICATE-----, é PEM independentemente da extensão. Se vir dados binários ilegíveis, é DER ou PFX.

Perguntas frequentes

Qual a diferença entre .crt, .cer e .pem?

Todos podem ser formato PEM. A extensão é uma convenção de nomenclatura, não um indicador de formato. .crt e .cer são comumente usados para arquivos de certificado, .pem para qualquer arquivo codificado em PEM. No Windows, arquivos .cer às vezes são codificados em DER — abra em um editor de texto para verificar.

Por que o GetHTTPS me dá 4 arquivos?

Máxima compatibilidade. O GetHTTPS fornece: privkey.pem (chave privada), cert.pem (apenas seu certificado), chain.pem (certificado da CA intermediária), fullchain.pem (certificado + cadeia combinados). O Nginx precisa de fullchain.pem; o Apache precisa de cert.pem + chain.pem separados; o IIS precisa de PFX (converter de PEM).

Como crio um PFX para Windows/IIS?

Use o comando OpenSSL PEM → PFX acima. Você precisará de privkey.pem, cert.pem e chain.pem do GetHTTPS. O .pfx resultante pode ser importado no IIS, Azure App Service ou macOS Keychain.

Posso converter de um formato para outro sem a chave privada?

Você pode converter o certificado entre PEM e DER sem a chave privada. Mas criar um PFX requer a chave privada (ele empacota certificado + chave juntos). Se você perdeu sua chave privada, precisa gerar um novo certificado.

Qual formato a Let’s Encrypt usa?

A Let’s Encrypt (via qualquer cliente ACME incluindo GetHTTPS) gera no formato PEM. Se você precisa de um formato diferente para seu servidor, converta usando os comandos OpenSSL acima.

Artigos relacionados

Implantacao 2026-05-08
Como Instalar um Certificado SSL no Nginx
Guia passo a passo para instalar um certificado SSL no Nginx. Abrange upload de arquivos, configuração completa do bloco server, boas práticas de TLS, HTTP/2, HSTS, configuração de redirecionamento, testes e solução de 6 erros comuns.
Implantacao 2026-05-08
Como Instalar um Certificado SSL no Apache
Guia passo a passo para instalar um certificado SSL no Apache com mod_ssl. Cobre upload de arquivos, configuração de VirtualHost, boas práticas de TLS, HSTS, redirecionamento HTTP e solução de 5 erros comuns.
SSL e certificados 2026-05-07
O que é um CSR (Certificate Signing Request)?
Um CSR é uma mensagem enviada a uma Autoridade Certificadora para solicitar um certificado SSL. Aprenda o que um CSR contem, como é gerado e por que o GetHTTPS o trata automaticamente.
Obtenha um certificado SSL gratuito no seu navegador
Sem instalacao, sem conta. Sua chave privada nunca sai do seu dispositivo.
Obter seu certificado