ans1语法的一个例子nt5inf.cat
第二部分:
语法第一部分:头部
语法第一部分A:0x30 类型位0x10
SEQUENCE and SEQUENCE OF | 10 |
语法第一部分B:83 长度3个字节,如果为1个字节,第一部分B则没有。
语法第一部分C:长度 0x09 0x69 0x2f
语法第二部分:体部
第三部分:
语法第一部分A:1个字节
7位8位为:
类别class | bit8 bit7 |
---|---|
全局 | 00 |
应用 | 01 |
上下文相关 | 10 |
私有 | 11 |
6位为:
定长构造类型编码方法
标识字节,同上面,但bit6=1,表示构造类型
长度同上
内容,拼接
非定长构造类型编码方法
标识字节,同上
长度:单字节 0x80
内容:同上
结尾:两个字节, 0x00,0x00,类型的class和tag都是0。
1-5位为:
类型 tag编号(16进制)
INTEGER 02
BIT STRING 03
OCTET STRING 04
NULL 05
OBJECT IDENTIFIER 06
SEQUENCE and SEQUENCE OF 10
SET and SET OF 11
PrintableString 13
T61String 14
IA5String 16
UTCTime 17
第四部分:头部2个字节,体部9个字节,体部第一部分7个字节,体部第二部分2个字节
001f: | 30 09 ; SEQUENCE (9 Bytes)
0021: | 06 05 ; OBJECT_IDENTIFIER (5 Bytes)
0023: | | 2b 0e 03 02 1a
| | ; "sha1 (1.3.14.3.2.26)"
0028: | 05 00 ; NULL (0 Bytes)
09个字节包括:
06 05 两个字节+
2b 0e 03 02 1a 5个字节
05 00 2个字节
第五部分:头部2个字节,体部11个字节,共13个字节
001d: 31 0b ; SET (b Bytes)
001f: | 30 09 ; SEQUENCE (9 Bytes)
0021: | 06 05 ; OBJECT_IDENTIFIER (5 Bytes)
0023: | | 2b 0e 03 02 1a
| | ; "sha1 (1.3.14.3.2.26)"
0028: | 05 00 ; NULL (0 Bytes)