BIT STRING
Тип данных BIT STRING закодирован в триплет TLV, начинающийся с тега байтов 0x03. Поле значение триплета TLV содержит ведущий байт, указывающий количество битов, оставшихся неиспользуемым в окончательном байте содержимого. В следующем примере для поля длина задано значение 0x03, так как следуют три байта содержимого, а в начале поля значение задано значение 0x04, так как в последнем байте содержимого имеется четыре неиспользуемых бита. Каждый неиспользуемый бит обозначается буквой x.
В следующем примере, адаптированном из раздела PKCS #10 в кодировке ASN.1, показана закодированная подпись примера запроса на сертификат PKCS #10. Первый байт содержит значение тега тега для типа данных BIT STRING 0x03. Второй и третий байт содержат длину массива байтов. Бит 7 второго байта имеет значение 1, так как содержимое превышает 127 байтов. Биты от 0 до 6 второго байта указывают число конечных длину байт, в этом случае один. Третий байт указывает количество байтов содержимого, 0x81. Четвертый байт, 0x00, указывает количество неиспользуемых битов, которые существуют в последнем байте содержимого. Обратите внимание, что подпись закодирована в порядке байтов больших байтов.
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
Связанные разделы