Binário DER (.der)
ITU-T PadrãoDistinguished Encoding Rules (DER) é um padrão binário estrito e canônico para codificar estruturas de dados ASN.1. Ele representa certificados de segurança e chaves criptográficas sem ambiguidades, com precisão bit a bit.
Converter DER para PEM
Conversor gratuito de DER para PEM no navegador. Converta arquivos instantaneamente no seu dispositivo.
Inspeção e metadados
Sistemas operacionais e analisadores de arquivos identificam arquivos DER pela sequência inicial de bytes:
Assinatura do arquivo em bytes (magic bytes)
Sistemas operacionais e analisadores de arquivos identificam arquivos DER pela sequência inicial de bytes:
ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):
Sem assinatura universal (codificação ASN.1 DER)REPRESENTAÇÃO ASCII: Sem assinatura fixa
Padronização: ITU-T Recommendation X.690
Especificações técnicas
| Estrutura do contêiner | Codificação binária canônica e estrita de estruturas ASN.1 usando trios tag-comprimento-valor (TLV) |
| Compressão | Dados binários sem compactação |
| Ordem dos bytes (endianness) | Codificação ASN.1 big-endian |
| Espaços de cor | Não se aplica (fluxo binário criptográfico) |
| Canais e Estrutura | Chaves criptográficas, certificados X.509, listas de revogação de certificados (CRLs) e estruturas PKCS |
| Dimensões Máximas | Comprimento ASN.1 sem limite definido |
| Transparência | Estrutura de dados ASN.1 binária |
| Streaming e Progressivo | Decodificação canônica determinística em uma única passagem |
Matriz de comparação técnica: DER e formatos concorrentes
| Atributo técnico | DER (Atual) | PEM | CRT | P12 |
|---|---|---|---|---|
| Representação de Dados | Codificação ASN.1 binária estrita | Texto ASCII codificado em Base64 | PEM Base64 ou DER binário | Arquivo PKCS #12 binário criptografado |
| Hashing determinístico | Fluxo de bits 100% canônico | Depende de espaços em branco/banners | Depende da formatação | Criptografado com salt/IV |
| Tamanho do arquivo | Menor (~33% menor que o PEM) | Maior devido ao Base64 (+33%) | Maior devido ao Base64 (+33%) | Maior devido a invólucros de criptografia |
| Suporte de Java e hardware | Padrão nativo | Requer conversão em Java | Requer conversão em Java | Suportado como repositório de chaves |
Modos comuns de corrupção e guia de recuperação com editor hexadecimal
Erro do OpenSSL: 'asn1 encoding routines:ASN1_get_object:header too long'.
Causa principal: Byte de Tag-Length-Value (TLV) corrompido no cabeçalho da sequência ASN.1.
Recuperação: Faça a transcodificação usando a Ferramenta de Certificados File2File.app para reconstruir bytes canônicos DER válidos.
Análise de segurança e vetores de ataque a analisadores
Os decodificadores DER analisam descritores de comprimento em que o estouro ou subfluxo de inteiros pode acionar estouros de buffer em bibliotecas de criptografia nativas.
Vetores de ataque conhecidos
- Estouro de inteiro durante a decodificação de comprimentos indefinidos profundamente aninhados em ASN.1.
- Leitura fora dos limites ao analisar cadeias de bits malformadas.
- Negação de serviço por meio de bombas de recursão ASN.1 aninhadas.
Melhores práticas defensivas: Use analisadores ASN.1 seguros para a memória com limites máximos de profundidade de recursão obrigatórios.
Origens históricas e marcos
Principais vantagens
- Canônico e determinístico: garante que dados idênticos sempre produzam exatamente o mesmo hash binário, essencial para assinaturas digitais.
- Mais compacto que o PEM: economiza ~33% de sobrecarga ao omitir a codificação Base64 e os banners ASCII.
- Formato nativo para módulos de segurança de hardware (HSMs), cartões inteligentes e repositórios de chaves Java (keystores).
Limitações técnicas e desvantagens
- O formato binário não pode ser visualizado, editado ou copiado e colado em editores de texto.
- Menos comum em ambientes de hospedagem web, que preferem esmagadoramente arquivos PEM/CRT baseados em texto.
- Regras estritas de codificação significam que qualquer discrepância menor de preenchimento (padding) causa rejeição na análise.
Curiosidades técnicas
- O DER é um subconjunto estrito do BER (Regras Básicas de Codificação); enquanto o BER permite várias maneiras válidas de codificar um valor, o DER permite exatamente uma maneira canônica.
- Se você codificar um arquivo DER em Base64 e envolvê-lo em '-----BEGIN CERTIFICATE-----', você obtém um arquivo PEM padrão.
- O KeyFactory do Java exige que as chaves públicas e privadas RSA sejam fornecidas no formato DER bruto.
Perguntas técnicas frequentes
Qual é a diferença entre DER e PEM?
O DER é o formato binário bruto de um certificado ou chave. O PEM é simplesmente o mesmo arquivo DER convertido em texto legível em Base64 com os cabeçalhos '-----BEGIN...-----'.
Como posso converter DER para PEM?
Envie seu arquivo .der para o File2File.app para convertê-lo em um certificado de texto .pem padrão em um segundo, diretamente no seu navegador.
Por que o Java usa chaves DER?
A Java Cryptography Architecture (JCA) usa matrizes de bytes PKCS#8 e X.509 codificadas em DER para suas especificações de chaves nativas.