Partilhar via


CADEIA DE CARACTERES DE BIT

O tipo de dados CADEIA DE CARACTERES DE BIT é codificado em um trigêmeo TLV que começa com um byte de marca de 0x03. O campo Valor do trigêmeo TLV contém um byte à esquerda que especifica o número de bits não utilizados no byte final do conteúdo. No exemplo a seguir, o campo Comprimento é definido como 0x03 porque três bytes de conteúdo seguem e o byte à esquerda do campo Valor é definido como 0x04 porque há quatro bits não utilizados no último byte de conteúdo. Cada bit não utilizado é indicado pela letra x.

codificação der do tipo de dados de cadeia de caracteres de bits

O exemplo a seguir, adaptado do tópico ASN.1 codificado PKCS nº 10 , mostra a assinatura codificada de uma solicitação de certificado PKCS #10 de exemplo. O primeiro byte contém o valor tag para o tipo de dados CADEIA DE CARACTERES BIT , 0x03. O segundo e o terceiro bytes contêm o comprimento da matriz de bytes. O bit 7 do segundo byte é definido como 1 porque há mais de 127 bytes de conteúdo. Os bits de 0 a 6 do segundo byte especificam o número de bytes de comprimento à direita, neste caso um. O terceiro byte especifica o número de bytes de conteúdo, 0x81. O quarto byte, 0x00, especifica o número de bits não utilizados que existem no último byte de conteúdo. Observe que a assinatura é codificada em ordem de bytes big-endian.

0299:    03 81 81           ; BIT_STRING (81 Bytes)
029c:       00
029d:       47 eb 99 5a df 9e 70 0d  fb a7 31 32 c1 5f 5c 24
02ad:       c2 e0 bf c6 24 af 15 66  0e b8 6a 2e ab 2b c4 97
02bd:       1f e3 cb dc 63 a5 25 ec  c7 b4 28 61 66 36 a1 31
02cd:       1b bf dd d0 fc bf 17 94  90 1d e5 5e c7 11 5e c9
02dd:       55 9f eb a3 3e 14 c7 99  a6 cb ba a1 46 0f 39 d4
02ed:       44 c4 c8 4b 76 0e 20 5d  6d a9 34 9e d4 d5 87 42
02fd:       eb 24 26 51 14 90 b4 0f  06 5e 52 88 32 7a 95 20
030d:       a0 fd f7 e5 7d 60 dd 72  68 9b f5 7b 05 8f 6d 1e

Sistema de tipos ASN.1

Codificação DER de tipos ASN.1

Bytes de comprimento e valor codificados