ASN.1 SEQUENCE标签号编码

Pet*_*ete 7 asn.1 der

根据例如http://luca.ntop.org/Teaching/Appunti/asn1.html,序列具有十六进制的标签号10.但是为什么DER编码为30而不是10?标记号为十六进制的INTEGER也编码为02.谢谢.

例如Sample :: = SEQUENCE {number 5}

编码为30 03 02 01 05

Cry*_*t32 9

这是因为在X.509格式,SETSEQUENCE类型在构造形式使用.结果,第6位设置为1.通过为SEQUENCE通用标签(0x10)设置第6位,您将得到0x30和0x31 SET(0x11和第6位为1 = 0x31).其余通用类型编码为基元(第6位设置为0).