security asn1 der pkcs certificates decoding cryptography

Guia técnico para decodificação de formatos ASN.1, DER e PKCS

Um mergulho profundo em formatos de segurança binários. Aprenda como decodificar arquivos ASN.1, DER, CSR e PKCS#7/PKCS#12 usando ferramentas padrão e decodificadores online.

2026-04-15

Guia técnico para decodificação de formatos ASN.1, DER e PKCS

No mundo da segurança e da criptografia, os dados raramente são armazenados em formatos legíveis por humanos, como JSON ou XML. Em vez disso, eles são compactados em estruturas binárias densas, seguindo padrões estabelecidos há décadas. Se você já encontrou um arquivo .der, .p12 ou .csr e se perguntou o que há dentro, você conheceu a família ASN.1.

Este guia explica como esses formatos binários funcionam e como decodificá-los.


1. O que é ASN.1?

ASN.1 (Abstract Syntax Notation One) é uma linguagem de descrição de interface padrão para definir estruturas de dados que podem ser serializadas e desserializadas de forma multiplataforma. É o "código-fonte" para dados de segurança.

Codificação DER

Enquanto o ASN.1 define a estrutura, o DER (Distinguished Encoding Rules) define como essa estrutura é transformada em binário. O DER é uma codificação de tag-comprimento-valor (TLV), o que significa que cada dado começa com um byte identificando seu tipo (tag), seguido por seu comprimento e, em seguida, os dados reais.


2. Decodificação de formatos binários comuns

Decodificador de CSR (Certificate Signing Request)

Um CSR contém sua chave pública e informações de identidade. Geralmente é codificado em Base64 (formato PEM), mas, por baixo, é uma estrutura ASN.1 codificada em DER.

  • Como decodificar: Você pode usar o OpenSSL (openssl req -in request.csr -noout -text) ou um decodificador de CSR online para ver o Assunto, a Organização e a Chave Pública.

Decodificador PKCS#7 (P7B)

O PKCS#7 é frequentemente usado para distribuir uma cadeia de certificados. Ele geralmente contém o certificado e quaisquer certificados intermediários necessários para verificá-lo.

  • Como decodificar: Ao contrário de um certificado simples, um arquivo PKCS#7 pode conter vários objetos. Decodificá-lo revela o "pacote" de certificados internos.

Decodificador PKCS#12 (P12/PFX)

O PKCS#12 é um arquivo protegido por senha que pode armazenar uma chave privada e seu certificado correspondente.

  • Como decodificar: Como é criptografado, você deve ter a senha. Decodificá-lo permite extrair a chave privada e o certificado em arquivos PEM separados.

3. ASN.1 e DER: A visualização em "árvore"

Quando você decodifica um arquivo DER bruto (como um certificado X.509), obtém uma estrutura semelhante a uma árvore:

  • SEQUENCE: Uma lista de itens.
  • OBJECT IDENTIFIER (OID): Uma série de números (como 2.5.4.3) que representam um campo específico (por exemplo, "Common Name").
  • BIT STRING / OCTET STRING: Dados binários brutos, muitas vezes contendo a chave pública ou a assinatura.

4. Visualização de chaves PGP e GPG

Embora o PGP (Pretty Good Privacy) use seu próprio formato baseado em pacotes (RFC 4880), ele compartilha o mesmo objetivo do X.509: vincular uma identidade a uma chave pública.

  • Visualizador de chaves PGP: Inspecionar uma chave PGP revela os IDs de usuário, as datas de criação e as subchaves usadas para assinatura e criptografia.

Resumo das ferramentas de decodificação

Formato Extensão Tipo de conteúdo Como "ver" o interior
X.509 .der, .crt Certificado público openssl x509 -inform der -text
CSR .csr Req. de Assinatura openssl req -text -noout
PKCS#12 .p12, .pfx Certificado + Chave Privada openssl pkcs12 -info
PGP .asc, .gpg Chave/Mensagem PGP gpg --list-packets

Conclusão

Decodificar formatos de segurança binários é como resolver um quebra-cabeça. Depois de entender que quase tudo na PKI moderna é construído sobre a base do ASN.1 e do DER, os bytes "aleatórios" começam a fazer sentido. Quer você esteja usando ferramentas de linha de comando como o OpenSSL ou decodificadores baseados na web, ser capaz de inspecionar a estrutura bruta de um certificado ou solicitação é uma habilidade essencial para qualquer desenvolvedor consciente da segurança.

Procurando uma maneira de verificar a integridade do arquivo? Use nosso Gerador de Hash para calcular somas de verificação para seus arquivos de segurança.