Conversor DER ↔ PEM
Converta entre formatos de certificado DER e PEM
PEM Input
DER Output
Enter data to convert between PEM and DER formats
O Conversor DER/PEM transforma certificados, chaves e CSRs entre formatos de codificação DER (binário) e PEM (ASCII base64) -- eliminando a necessidade de lembrar sintaxe de comando openssl x509 -inform/-outform ao trocar entre ambientes Windows, Linux e Java. Faça upload de um arquivo DER ou cole texto PEM e obtenha a saída convertida instantaneamente.
Compreendendo Formatos DER e PEM
Se você trabalhou com certificados em diferentes plataformas, você inevitavelmente enfrentou o problema de formato. Windows exporta certificados em formato binário DER. Apache e nginx esperam arquivos de texto PEM. Java's keytool fala DER mas a maioria dos guias de configuração mostram PEM. Seu colega enviou um arquivo .cer e você não tem ideia se é DER ou PEM porque a extensão é ambígua. Esses são todos variações dos mesmos dados de certificado subjacentes, apenas codificados diferentemente.
DER (Distinguished Encoding Rules) é a representação binária bruta do estrutura de dados ASN.1 do certificado. É compacto, inequívoco e a codificação canônica -- mas é completamente ilegível em um editor de texto e não pode ser seguramente copiado em emails, mensagens de chat ou arquivos de configuração. PEM (Privacy-Enhanced Mail) resolve isso envolvendo os bytes DER em codificação base64 e adicionando linhas de cabeçalho/rodapé como -----BEGIN CERTIFICATE-----. O resultado é cerca de 33% maior mas funciona em todo lugar: você pode colá-lo em um terminal, enviar por email, incluir em um arquivo YAML ou concatenar múltiplos certificados em um arquivo de cadeia simples.
Esse conversor trata ambas direções. Dê-lhe um arquivo binário DER e produzirá texto PEM que você pode copiar. Dê-lhe texto PEM e produzirá um arquivo DER que você pode fazer download. Auto-detecta o tipo de conteúdo (certificado, chave privada, CSR ou chave pública) e aplica o cabeçalho/rodapé PEM correto. Nenhuma necessidade de lembrar se é openssl x509, openssl rsa ou openssl req com as flags -inform e -outform corretas.
Como Converter Entre DER e PEM
- Para DER para PEM: faça upload ou arraste-solte seu arquivo binário
.der,.cerou.crt - Para PEM para DER: cole o texto PEM incluindo linhas
-----BEGIN/END----- - O conversor auto-detecta o formato de entrada e tipo de conteúdo (certificado, chave ou CSR)
- Copie a saída PEM ou faça download do arquivo binário DER
Comparação de Formato DER vs. PEM
| Recurso | DER | PEM |
|---|---|---|
| Codificação | Binário | ASCII Base64 |
| Tamanho de arquivo | Menor (bytes brutos) | ~33% maior (overhead base64) |
| Legível por humano | Não | Sim (visualizável em editor de texto) |
| Seguro para copiar/colar | Não | Sim |
| Seguro para email | Não | Sim |
| Múltiplos itens por arquivo | Não (um objeto apenas) | Sim (concatenação) |
| Extensões comuns | .der, .cer | .pem, .crt, .cer |
Exemplo de Conversão
PEM para DER
Entrada (PEM):
-----BEGIN CERTIFICATE-----
MIIFjTCCBHWgAwIBAgISA0M4rfJGaXD0dC/jC+/SUoZfMA0GCSqGSIb3
DQEBCwUAMDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNy
...dados base64...
-----END CERTIFICATE-----
Saída: Download de arquivo binário .der (tipicamente 1--2 KB para um certificado folha)
DER para PEM
Entrada: Faça upload de arquivo binário .der
Saída (PEM):
-----BEGIN CERTIFICATE-----
MIIFjTCCBHWgAwIBAgISA0M4rfJGaXD0dC/jC+/SUoZfMA0GCSqGSIb3
...conteúdo codificado base64...
-----END CERTIFICATE-----
Quando Usar Esta Ferramenta
- Migração de Windows para Linux -- Windows Certificate Store exporta em formato DER; Apache e nginx requerem PEM
- Operações de keystore Java -- Java's
keytoolimporta e exporta DER; muitos passos de configuração requerem PEM - Inspeção de certificado -- converta DER para PEM para que você possa colá-lo em visualizadores de certificado, geradores de fingerprint ou outras ferramentas de análise
- Compartilhamento seguro para email -- converta arquivos binários DER em texto PEM que pode ser seguramente colado em emails ou mensagens de chat
- Prep de automação de script -- formato PEM funciona com
openssl,curl --cacerte a maioria de ferramentas de linha de comando que esperam certificados baseados em texto - Deployment de certificado entre plataformas -- prepare certificados no formato certo para cada sistema alvo em sua infraestrutura
Como Codificação DER e PEM Funcionam
DER (Distinguished Encoding Rules)
DER é a codificação binária de estruturas de dados ASN.1 definidas por X.690. Produz uma sequência de byte única e determinística para qualquer estrutura ASN.1 dada. Um certificado codificado em DER são os bytes brutos -- não legível em um editor de texto mas compacto e inequívoco.
PEM (Privacy-Enhanced Mail)
PEM envolve DER em um formato seguro para texto através de três passos:
- Comece com os dados binários DER
- Codifique-o usando base64 (convertendo binário para caracteres ASCII)
- Adicione linhas de cabeçalho e rodapé identificando o tipo de conteúdo
As linhas de cabeçalho/rodapé indicam o que o bloco PEM contém:
| Tipo de Conteúdo | Cabeçalho |
|---|---|
| Certificado | -----BEGIN CERTIFICATE----- |
| Chave privada (PKCS#8) | -----BEGIN PRIVATE KEY----- |
| Chave privada RSA | -----BEGIN RSA PRIVATE KEY----- |
| CSR | -----BEGIN CERTIFICATE REQUEST----- |
| Chave pública | -----BEGIN PUBLIC KEY----- |
Preferências de Formato de Plataforma
| Plataforma | Formato Preferido | Notas |
|---|---|---|
| Apache/nginx | PEM | Configuração referencia arquivos .pem ou .crt |
| Windows/IIS | DER ou PKCS#12 | Gerenciador de Certificado usa .cer (DER) ou .pfx |
| Java (keytool) | DER ou PKCS#12 | Importa DER em keystores JKS/PKCS12 |
| OpenSSL CLI | PEM (padrão) | Suporta ambas com flags -inform DER/PEM |
| macOS Keychain | DER | Clique duplo em arquivos .cer para importar |
| Android | DER | Armazenamento CA do sistema usa certificados codificados em DER |
Conversão de Formato na Prática
O cenário mais comum de conversão é mover certificados de Windows para Linux. Quando você exporta um certificado do Gerenciador de Certificado do Windows, ele padrão para formato DER com extensão .cer. Se você tentar usar esse arquivo com nginx ou Apache, você recebe um erro cryptic sobre o formato do certificado ser inválido. A correção é simples: converta para PEM. Mas se você não tem OpenSSL instalado em sua máquina Windows (e muitos administradores do Windows não têm), esse conversor baseado em web economiza você de instalar ferramentas adicionais.
A conversão reversa -- PEM para DER -- é mais comum ao trabalhar com aplicações Java. O utilitário keytool de Java importa certificados em formato DER por padrão, e enquanto suporta PEM em versões mais novas, muitos scripts de deployment mais antigos esperam DER. Similarmente, importar um certificado no Armazenamento de Certificado do Windows ou Keychain do macOS é frequentemente mais fácil com um arquivo DER que você pode clicar duplo para iniciar o assistente de importação.
Uma coisa a observar é a extensão ambígua .cer. Diferente de .pem (sempre PEM) ou .der (sempre DER), um arquivo .cer pode ser ambos formatos. Se alguém envia um arquivo .cer e você não tem certeza de qual formato é, abra em um editor de texto. Se você vê -----BEGIN CERTIFICATE----- e caracteres base64 legíveis, é PEM. Se você vê caracteres binários, é DER. Em Linux, o comando file também dirá: file cert.cer relata "certificado PEM" ou "data" para DER.
Perguntas Frequentes
Como digo se um arquivo .cer é DER ou PEM?
Abra o arquivo em um editor de texto. Se você vê -----BEGIN CERTIFICATE----- e texto base64 legível, é PEM. Se você vê caracteres binários garbage, é DER. A extensão .cer é ambígua e pode ser ambos formatos. Na linha de comando, file cert.cer relatará "certificado PEM" ou "data" (para DER).
Posso converter arquivos PKCS#12 (.pfx/.p12) com essa ferramenta?
Essa ferramenta trata conversões DER e PEM. PKCS#12 é um formato de container diferente que agrupa certificados com chaves privadas e é protegido com senha. Para trabalhar com arquivos PKCS#12, use OpenSSL: openssl pkcs12 -in file.pfx -out combined.pem -nodes extrai todo conteúdo como PEM.
Por que meu arquivo DER é maior que esperado? O formato DER deveria ser menor que PEM (sem overhead base64). Se seu arquivo DER parece grande, pode conter múltiplos certificados ou uma chave privada. Certificados folha simples em formato DER são tipicamente 1--2 KB. Cadeias de certificado deveriam ser armazenadas em formato PEM já que DER não suporta concatenação.
Converter entre DER e PEM muda o fingerprint do certificado? Não. O fingerprint é sempre computado sobre os dados codificados em DER, independente de se o certificado está armazenado como DER ou PEM. Converter entre formatos preserva os bytes DER subjacentes, então o fingerprint permanece idêntico.
Posso concatenar múltiplos certificados DER em uma cadeia? Não. Formato DER suporta apenas um certificado por arquivo. Para criar uma cadeia (bundle), você deve primeiro converter cada certificado DER para formato PEM, depois concatenar os blocos PEM em um arquivo simples. Use o Merger de Bundle PEM para montá-los na ordem correta.
Ferramentas Relacionadas
- Visualizador de Certificado X.509 - Visualize detalhes de certificado depois de converter para PEM
- Divisor de Bundle PEM - Divida certificados PEM concatenados depois de conversão de DER
- Merger de Bundle PEM - Junte certificados PEM convertidos individualmente em uma cadeia
- Gerador de Fingerprint de Certificado - Gere fingerprints de certificados PEM
- Visualizador de CSR - Visualize detalhes de CSR depois de converter de DER para PEM