SEQUENCE

SEQUENCE 包含一个或多个类型的有序字段。 它编码为 TLV 三元组,以 标记 字节0x30开头。 以下Certutil.exe PKCS #10 编码 ASN.1 主题的输出提供了 SEQUENCE 数据结构的多个示例。 输出显示一个 128 字节公钥和三个字节指数。

30 81 9f                             ; SEQUENCE (9f Bytes)
|  30 0d                             ; SEQUENCE (d Bytes)
|  |  |  06 09                       ; OBJECT_ID (9 Bytes)
|  |  |  2a 86 48 86 f7 0d 01 01 01  ; 1.2.840.113549.1.1.1 
|  |  05 00                          ; NULL (0 Bytes)
|  03 81 8d                          ; BIT_STRING (8d Bytes)
|     00
|     30 81 89                       ; SEQUENCE (89 Bytes)
|        02 81 81                    ; INTEGER (81 Bytes)
|        |  00
|        |  8f e2 41 2a 08 e8 51 a8  8c b3 e8 53 e7 d5 49 50
|        |  b3 27 8a 2b cb ea b5 42  73 ea 02 57 cc 65 33 ee
|        |  88 20 61 a1 17 56 c1 24  18 e3 a8 08 d3 be d9 31
|        |  f3 37 0b 94 b8 cc 43 08  0b 70 24 f7 9c b1 8d 5d
|        |  d6 6d 82 d0 54 09 84 f8  9f 97 01 75 05 9c 89 d4
|        |  d5 c9 1e c9 13 d7 2a 6b  30 91 19 d6 d4 42 e0 c4
|        |  9d 7c 92 71 e1 b2 2f 5c  8d ee f0 f1 17 1e d2 5f
|        |  31 5b b1 9c bc 20 55 bf  3a 37 42 45 75 dc 90 65
|        02 03                       ; INTEGER (3 Bytes)
|           01 00 01

如果 SEQUENCE 包含的字节少于 128 个字节,则 TLV 三元组的 Length 字段只需要一个字节即可指定内容长度。 如果大于 127 个字节,则 “长度 ”字段的第 7 位设置为 1,位 6 到 0 指定用于标识内容长度的其他字节数。 例如,上一示例中第一行的第二个字节指示有一个尾随 的 Length 字节指定内容0x9F字节, (大部分 SEQUENCE 未显示) 。 有关详细信息,请参阅 编码的长度和值字节

ASN.1 类型系统

ASN.1 类型的 DER 编码