Binário DER (.der)

ITU-T Padrão

Distinguished 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:

Selecione ou solte os arquivos aqui

Privado - os arquivos nunca saem do seu dispositivo

ou colar Ctrl+V
Garantia de privacidade sem transmissão pela rede 0 bytes enviados a servidores externos. Todo o processamento ocorreu localmente no ambiente isolado do navegador.

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êinerCodificação binária canônica e estrita de estruturas ASN.1 usando trios tag-comprimento-valor (TLV)
CompressãoDados binários sem compactação
Ordem dos bytes (endianness)Codificação ASN.1 big-endian
Espaços de corNão se aplica (fluxo binário criptográfico)
Canais e EstruturaChaves criptográficas, certificados X.509, listas de revogação de certificados (CRLs) e estruturas PKCS
Dimensões MáximasComprimento ASN.1 sem limite definido
TransparênciaEstrutura de dados ASN.1 binária
Streaming e ProgressivoDecodificação canônica determinística em uma única passagem

Matriz de comparação técnica: DER e formatos concorrentes

Atributo técnicoDER (Atual)PEMCRTP12
Representação de DadosCodificação ASN.1 binária estritaTexto ASCII codificado em Base64PEM Base64 ou DER binárioArquivo PKCS #12 binário criptografado
Hashing determinísticoFluxo de bits 100% canônicoDepende de espaços em branco/bannersDepende da formataçãoCriptografado com salt/IV
Tamanho do arquivoMenor (~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 hardwarePadrão nativoRequer conversão em JavaRequer conversão em JavaSuportado 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

2021A revisão ITU-T X.690 estabiliza as especificações ASN.1 DER em tokens de hardware modernos.
1997Adotado pela Arquitetura de Criptografia Java (JCA) para codificação binária de chaves (X509EncodedKeySpec).
1988Padronizado sob a Recomendação CCITT / ITU-T X.690 como um subconjunto estrito das Regras Básicas de Codificação (BER).

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.