Поделиться через


Закодированный тег в байтах

Поле Тег в триплете TLV определяет тип структуры данных, отправляемой между компьютерами. Например, тег для целого числа является 0x02, а тег для идентификатора объекта — 0x06. Хотя допускается несколько байтов, ни один из типов данных, используемых API регистрации сертификатов, не требует более одного. На следующем рисунке показана разбивка значения тега . Биты 7 и 6 идентифицируют класс тегов ASN.1. Существует четыре доступных класса, но API регистрации сертификатов использует типы данных, которые принадлежат только к классу UNIVERSAL. Бит 5 определяет, является ли форма кодирования примитивной или созданной. Базовые и строковые типы кодируются с помощью примитивных форм, а сконструированные типы — с помощью сконструированной формы. Дополнительные сведения см. в разделе AsN.1 Type System. Биты от 4 до 0 содержат номер тега.

der tlv tag byte

В следующей таблице перечислены типы данных, поддерживаемые API регистрации сертификатов, используемая форма кодирования и значение тега.

Тип Класс ASN.1 Форма кодирования Значение тега
БИТОВАЯ СТРОКА УНИВЕРСАЛЬНЫЙ Примитивные 00000011
(0x03)
BOOLEAN УНИВЕРСАЛЬНЫЙ Примитивные 00000001
(0x01)
ЦЕЛОЕ ЧИСЛО УНИВЕРСАЛЬНЫЙ Примитивные 00000010
(0x02)
NULL УНИВЕРСАЛЬНЫЙ Примитивные 00000101
(0x05)
ИДЕНТИФИКАТОР ОБЪЕКТА УНИВЕРСАЛЬНЫЙ Примитивные 00000110
(0x06)
СТРОКА ОКТЕТА УНИВЕРСАЛЬНЫЙ Примитивные 00000100
(0x04)
BMPString УНИВЕРСАЛЬНЫЙ Примитивные 00011110
(0x1E)
IA5String УНИВЕРСАЛЬНЫЙ Примитивные 00010110
(0x16)
PrintableString УНИВЕРСАЛЬНЫЙ Примитивные 00010011
(0x13)
TeletexString УНИВЕРСАЛЬНЫЙ Примитивные 00010100
(0x14)
UTF8String УНИВЕРСАЛЬНЫЙ Примитивные 00001100
(0x0C)
SEQUENCE УНИВЕРСАЛЬНЫЙ Построен 00110000
(0x30)
ПОСЛЕДОВАТЕЛЬНОСТЬ УНИВЕРСАЛЬНЫЙ Построен 00110000
(0x30)
SET УНИВЕРСАЛЬНЫЙ Построен 00110001
(0x31)
SET OF УНИВЕРСАЛЬНЫЙ Построен 00110001
(0x31)

Синтаксис передачи DER

Закодированная длина и значение в байтах