📐 ASN.1 DER 解析器

输入十六进制表示的 DER 编码数据,解析树形结构。

支持 SEQUENCE, INTEGER, OID, OCTET STRING 等类型。
等待解析...

※ 示例数据:3003020101 → SEQUENCE { INTEGER 1 }

ASN.1 DER 编码详解

ASN.1(Abstract Syntax Notation One,抽象语法标记一)是 ISO/IEC 8824 标准定义的数据结构描述语言,广泛用于 X.509 证书、PKCS 结构、智能卡个性化数据和 LDAP 目录协议中。DER(Distinguished Encoding Rules,唯一编码规则)是 ASN.1 的二进制编码方式,规定每个数据对象只有一个可能的 DER 编码,确保编码结果的确定性。

每个 DER 编码的数据对象由三部分组成:Tag(标签)、Length(长度)、Value(值),简称 TLV 结构。Tag 标识数据类型,Length 指示 Value 的字节数,Value 承载实际数据。

常见 ASN.1 类型

编码规则

Tag 编码:单字节 Tag 的低 5 位若不全为 1,则 Tag 只占 1 字节。若低 5 位全为 1(0x1F),则 Tag 延伸到后续字节,每个后续字节高位为 1 表示延续,高位为 0 表示最后一个字节。Length 编码:短格式(0-127)直接用 1 字节表示。长格式首字节为 0x81-0x84,指示后续 1-4 字节为大端长度值。例如 0x82 01 00 表示长度 256 字节。

构造类型(Tag 的第 6 位为 1)的 Value 字段包含嵌套的 TLV 结构,解析器需要递归解码。本解析器支持递归解码构造类型,并显示每层的 Tag、Length、十六进制值和 ASCII 解释。DER 编码在智能卡领域应用广泛:X.509 证书、PKCS#7/CMS 签名数据、PKCS#11 对象属性、GlobalPlatform 个人化脚本等都使用 DER 编码。