AZ Tools

Decodificador CBOR (notação diagnóstica)

Desenvolvimento

CBOR (Representação Concisa de Objetos Binários, RFC 8949) é um formato binário compacto usado por WebAuthn/FIDO2, COSE, o trabalho de certificados C509 e muitos protocolos IoT — mas como bytes brutos é ilegível. Cole os bytes como hex ou base64 e esta ferramenta os decodifica para notação diagnóstica CBOR, a forma legível padrão da especificação: inteiros e bignums, strings de bytes como h'…', strings de texto, arrays e mapas aninhados, valores com tag como 0("2013-03-21T20:04:00Z"), os valores simples false/true/null/undefined, floats half/single/double e strings, arrays e mapas de comprimento indefinido escritos com o marcador _. Valida durante o processo e sinaliza entrada truncada ou bytes sobrando após o primeiro item de dados. O decodificador é verificado contra toda a tabela de exemplos do Apêndice A do RFC 8949. Tudo roda localmente; nada é enviado.

A saída é notação diagnóstica do RFC 8949: strings h'…', 1 vs 1.0, tag(conteúdo) e _ para comprimento indefinido.

Como usar

  1. Escolha se sua entrada é hex ou base64 (base64url também é aceito).
  2. Cole os bytes CBOR.
  3. Leia a notação diagnóstica decodificada e copie-a.

Perguntas frequentes

O que é notação diagnóstica?
É a forma de texto legível de um item CBOR definida no RFC 8949 §8 — parecida com JSON, mas capaz de expressar tudo o que o CBOR pode: strings de bytes como h'…', inteiros versus floats (1 vs 1.0), tags como número(conteúdo), os valores simples undefined e simple(n), e itens de comprimento indefinido com um sublinhado, ex. [_ 1, 2]. É a forma padrão de mostrar o que um blob CBOR contém.
Como obtenho o hex de um valor CBOR?
Qualquer coisa que emita CBOR te dá bytes: um attestationObject de WebAuthn, uma COSE_Key ou COSE_Sign1, um quadro de sensor IoT, etc. Capture esses bytes e cole como hex (com ou sem espaços ou prefixo 0x) ou base64. A ferramenta ignora espaços e aceita base64url.
Por que mostra 1 e 1.0 de forma diferente?
CBOR distingue inteiros de números de ponto flutuante no nível dos bytes, e a notação diagnóstica preserva isso: o inteiro um é 1, enquanto o float é 1.0. Floats de meia precisão (2 bytes), simples (4) e duplo (8) decodificam para seu valor exato, incluindo NaN e ±Infinity.
O que significam os 'bytes sobrando'?
Uma mensagem CBOR é um único item de dados. Se houver bytes extras após o primeiro item completo, a ferramenta os reporta em vez de ignorá-los silenciosamente — geralmente significa que a entrada é uma sequência de itens, foi truncada no meio, ou o formato (hex vs base64) está errado.

Ferramentas relacionadas