Todos os produtos
Search
Central de documentação

Certificate Management Service:Quais são os formatos comuns de certificados SSL?

Última atualização: Jun 27, 2026

Os certificados SSL possuem vários formatos de arquivo que determinam o armazenamento e a compatibilidade com servidores. Antes de trabalhar com esses arquivos, entenda um ponto fundamental: as extensões não indicam a codificação de forma confiável. Um arquivo .crt pode ter codificação PEM ou DER. Sempre inspecione o conteúdo do arquivo para confirmar o formato real.

Este tópico aborda os formatos mais comuns, a escolha do formato adequado para seu servidor, a identificação de arquivos desconhecidos e a conversão entre formatos.

Formatos de arquivo de certificado

Extensão

Codificação

Descrição

.pem

Texto (PEM)

Extensão mais utilizada. Armazena certificado, chave privada, cadeia de certificados ou uma combinação desses elementos. Verifique os marcadores BEGIN/END para identificar o tipo de conteúdo.

.key

Texto (PEM) ou binário (DER)

Geralmente armazena uma chave privada.

.crt, .cer

Texto (PEM) ou binário (DER)

Normalmente contém apenas o certificado (chave pública e informações de identidade), sem a chave privada. Pode ser um único certificado de servidor ou uma cadeia que inclui certificados intermediários.

.pfx, .p12

Binário (PKCS#12)

Reúne o certificado do servidor, a chave privada e a cadeia de certificados em um único arquivo protegido por senha. A extensão .pfx é a convenção do Windows; já a .p12 é a extensão padrão.

.jks

Binário (JKS)

Formato proprietário Java Keystore (JKS). Armazena entradas de chave (chave privada e cadeia de certificados) e entradas de confiança (certificados de CA). Desde o Java 9, o formato recomendado é o PKCS#12.

Conceitos fundamentais

Arquivos de certificado SSL envolvem quatro conceitos relacionados: componentes do certificado, métodos de codificação, formatos de contêiner e extensões de arquivo. Compreender a distinção entre eles facilita o trabalho com diferentes ferramentas e servidores.

Componentes do certificado

  • Certificado SSL: Credencial de identidade que contém o nome de domínio, a chave pública, o emissor e o período de validade.

  • Chave privada: Par da chave pública presente no certificado. Utilizada para autenticação de identidade e comunicação criptografada. Mantenha a chave privada em total sigilo.

  • Cadeia de certificados: Caminho completo de confiança do certificado do servidor até o certificado da CA raiz, incluindo um ou mais certificados de CA intermediária.

Métodos de codificação

A codificação define como os dados binários são serializados em um arquivo.

  • Privacy-Enhanced Mail (PEM): Formato de texto que utiliza codificação Base64, delimitado pelos marcadores -----BEGIN...----- e -----END...-----. Um único arquivo PEM pode conter um certificado, uma chave privada ou ambos.

  • Distinguished Encoding Rules (DER): Formato binário que representa a codificação direta de dados ASN.1. O PEM consiste essencialmente em dados DER codificados em Base64 e envoltos por marcadores de cabeçalho e rodapé. Arquivos DER são mais compactos, mas não podem ser lidos em editores de texto.

Formatos de contêiner

Formatos de contêiner agrupam vários componentes em um único arquivo.

  • PFX/P12 (PKCS#12): Armazenamento binário de certificados que empacota o certificado do servidor, a chave privada e a cadeia de certificados intermediários em um único arquivo protegido por senha. Recomendado para implantação no IIS do Windows, em servidores de aplicação Java ou para migração de certificados entre servidores.

  • Java Keystore (JKS): Armazenamento de certificados específico para Java. Migre para PKCS#12 para garantir maior compatibilidade, pois este é o padrão do Java desde a versão 9.

As extensões de arquivo são apenas uma convenção de nomenclatura. Por exemplo, um arquivo .crt pode ter codificação PEM ou DER. Inspecione o conteúdo do arquivo para confirmar o formato real.

Escolha o formato para seu servidor

Servidor

Formato

Arquivos necessários

Observações

Nginx, Apache

PEM

Arquivo de certificado (.pem ou .crt) e arquivo de chave privada (.key)

Configure os arquivos de certificado e chave privada separadamente. O arquivo de certificado deve conter a cadeia completa, incluindo o certificado do servidor e todos os certificados intermediários.

Tomcat, JBoss, WebLogic

PKCS#12

Arquivo de keystore (.pfx ou .p12)

Formato padrão para servidores de aplicação Java. Caso ainda utilize JKS, migre para PKCS#12.

IIS

PFX

Arquivo de keystore (.pfx)

Importe o arquivo PFX protegido por senha para implantar o certificado e a chave privada juntos.

IBM WebSphere

KDB

Arquivo de keystore (.kdb)

Formato proprietário da IBM. Gerencie-o com a ferramenta iKeyman.

Após adquirir e emitir um certificado no Certificate Management Service, baixe-o no formato exigido pelo seu servidor. Para mais informações, consulte Baixar um certificado SSL.

Construção da cadeia de certificados para Nginx e Apache

Se a autoridade certificadora (CA) fornecer um arquivo separado de certificado intermediário, concatene-o ao certificado do servidor antes da implantação. Não inclua o certificado da CA raiz — utilize apenas o certificado do servidor e os certificados intermediários.

# Run on Linux or macOS
cat server.crt chain.crt > fullchain.crt

Identificação de formatos de arquivo de certificado

Antes de implantar, confirme o formato do arquivo para evitar falhas.

Identificar arquivos PEM pelo conteúdo

Abra o arquivo em um editor de texto. Um arquivo PEM contém um bloco ASCII com os marcadores BEGIN e END. O marcador indica o conteúdo do arquivo:

-----BEGIN CERTIFICATE-----
MIIE5zCCA8+gAwIBAgIQN+whYc2BgzAogau0dc3PtzANBgkqh......
-----END CERTIFICATE-----

Marcadores comuns:

Marcador

Conteúdo

-----BEGIN CERTIFICATE-----

Certificado

-----BEGIN PRIVATE KEY----- ou -----BEGIN RSA PRIVATE KEY-----

Chave privada

-----BEGIN ENCRYPTED PRIVATE KEY-----

Chave privada criptografada

-----BEGIN EC PRIVATE KEY-----

Chave privada de Curva Elíptica (EC)

Identificar formatos usando OpenSSL

Para arquivos binários ou quando forem necessárias informações detalhadas, use o OpenSSL para inspecionar o arquivo.

Certificado PEM

# Displays subject, issuer, validity period, and other details
openssl x509 -in certificate.crt -noout -text

Se o comando for executado com sucesso, o arquivo é um certificado com codificação PEM.

Chave privada PEM

# Displays key type and length
openssl pkey -in private.key -noout -text

Armazenamento de certificados PFX/P12

# Lists all entries in the PKCS#12 file; prompts for the import password
openssl pkcs12 -in keystore.pfx -info -noout

Certificado DER

# The -inform der flag tells OpenSSL to read binary DER input
openssl x509 -in certificate.der -inform der -noout -text

Conversão de formatos de certificado

Há duas opções para converter formatos.

Opção 1: Ferramenta de conversão do Certificate Management Service (sem linha de comando)

O Certificate Management Service oferece uma ferramenta integrada que suporta conversões entre os formatos PEM e PFX, PEM e JKS, além de PEM e PKCS8. Consulte Ferramentas de certificado.

Opção 2: Ferramenta de linha de comando OpenSSL

O OpenSSL está disponível em todos os sistemas operacionais e suporta todos os caminhos comuns de conversão.

Converter PEM para PFX (para IIS e Tomcat)

Este comando combina um arquivo de certificado, um arquivo de chave privada e um arquivo opcional de cadeia em um único arquivo PFX protegido por senha.

# Server certificate and private key only
openssl pkcs12 -export \
  -out server.pfx \        # Output PFX file
  -inkey private.key \     # Private key file
  -in server.crt           # Server certificate

# With a complete certificate chain
openssl pkcs12 -export \
  -out server.pfx \
  -inkey private.key \
  -in server.crt \
  -certfile chain.crt      # Intermediate certificate chain

Dividir PFX em PEM (para Nginx e Apache)

Estes comandos extraem o certificado e a chave privada de um arquivo PFX para arquivos PEM separados.

# Step 1: Extract the private key (password-protected)
openssl pkcs12 -in server.pfx -nocerts -out server.encrypted.key

# Step 2: Extract the server certificate only (leaf certificate, no CA chain)
openssl pkcs12 -in server.pfx -clcerts -nokeys -out server.crt

# Step 3: Extract the intermediate CA certificates
# Note: The root CA certificate is not required for deployment
openssl pkcs12 -in server.pfx -cacerts -nokeys -out chain.crt

# Step 4 (optional): Remove the password from the private key
# Required for servers that start non-interactively (Nginx, Apache)
openssl pkey -in server.encrypted.key -out private.key

# Step 5 (optional): Concatenate into a single chain file
# Skip this step if chain.crt does not exist (no intermediate certs in the PFX)
# Order matters: server certificate first, then intermediate certificates
cat server.crt chain.crt > fullchain.crt
Importante

O arquivo private.key resultante não possui proteção por senha. Restrinja as permissões imediatamente: chmod 400 private.key (leitura apenas para o proprietário do arquivo).

Configuração do Nginx após a conversão:

ssl_certificate     /path/to/fullchain.crt;
ssl_certificate_key /path/to/private.key;

Configuração do Apache após a conversão:

Para Apache 2.4.8 e versões posteriores:

SSLCertificateFile    /path/to/fullchain.crt
SSLCertificateKeyFile /path/to/private.key

Para versões do Apache anteriores à 2.4.8, configure a cadeia intermediária separadamente:

SSLCertificateFile      /path/to/server.crt
SSLCertificateKeyFile   /path/to/private.key
SSLCertificateChainFile /path/to/chain.crt

Converter entre DER e PEM

DER e PEM representam os mesmos dados em codificações diferentes — ASN.1 binário versus ASN.1 codificado em Base64 com marcadores. Converta entre eles quando um servidor ou ferramenta exigir uma codificação específica.

# DER to PEM
openssl x509 -inform der -in certificate.cer -out certificate.pem

# PEM to DER
openssl x509 -inform pem -in certificate.pem -outform der -out certificate.der

Converter JKS para PKCS#12 (caminho de migração recomendado)

Use o utilitário keytool do Java para converter um Java Keystore (JKS) legado para PKCS#12.

keytool -importkeystore \
  -srckeystore keystore.jks \    # Source JKS file
  -srcstoretype JKS \
  -destkeystore keystore.p12 \   # Output PKCS#12 file
  -deststoretype PKCS12

Esse processo migra todas as entradas de keystore.jks para keystore.p12. Para migrar apenas uma entrada específica, adicione -srcalias <alias> e -destalias <alias>. O comando solicitará tanto a senha de origem (JKS) quanto a de destino (PKCS#12).