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