Compartir a través de


CADENA DE BITS

El tipo de datos BIT STRING se codifica en un triplete TLV que comienza con un Tag byte de 0x03. El valor campo del triplete de TLV contiene un byte inicial que especifica el número de bits que quedan sin usar en el byte final del contenido. En el ejemplo siguiente, el campo longitud de se establece en 0x03 porque siguen tres bytes de contenido y el byte inicial del campo Valor está establecido en 0x04 porque hay cuatro bits sin usar en el último byte de contenido. Cada bit sin usar se indica mediante la letra x.

codificación der del tipo de datos de cadena de bits

En el ejemplo siguiente, adaptado del tema de PKCS #10 Codificado ASN.1, se muestra la firma codificada de una solicitud de certificado PKCS #10 de ejemplo. El primer byte contiene el valor Tag para el tipo de datos BIT STRING, 0x03. Los bytes segundo y tercero contienen la longitud de la matriz de bytes. El bit 7 del segundo byte se establece en 1 porque hay más de 127 bytes de contenido. Los bits de 0 a 6 del segundo byte especifican el número de longitud final bytes, en este caso uno. El tercer byte especifica el número de bytes de contenido, 0x81. El cuarto byte, 0x00, especifica el número de bits sin usar que existen en el último byte de contenido. Tenga en cuenta que la firma está codificada en orden 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

codificación DER de tipos ASN.1

longitud codificada y bytes de valor