编码的标记字节数
TLV 三元中的 “标记” 字段标识在计算机之间发送的数据结构的类型。 例如,整数的标记0x02,对象标识符的标记0x06。 尽管允许多个字节,但证书注册 API 使用的数据类型都不需要多个。 下图显示了 标记 值的明细。 位 7 和 6 标识 ASN.1 标记类。 有四个可用类,但证书注册 API 使用仅属于通用类的数据类型。 位 5 标识编码形式是基元还是构造的。 基本类型和字符串类型使用基元形式进行编码,使用构造的窗体对构造类型进行编码。 有关详细信息,请参阅 ASN.1 类型系统。 位 4 到 0 包含标记编号。
下表列出了证书注册 API 支持的数据类型、使用的编码形式和标记值。
类型 | ASN.1 类 | 编码形式 | 标记值 |
---|---|---|---|
BIT STRING | 普遍 | 基元 | 00000011 (0x03) |
BOOLEAN | 普遍 | 基元 | 00000001 (0x01) |
INTEGER | 普遍 | 基元 | 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) |