协议 / 二进制序列化

ASN.1 解析器从字节定位结构问题

输入一份完整的 BER 或 DER 值,明确选择文本格式,再展开 TLV 树。

ASN.1 解析器

编码字节

TLV 树

输入字节或载入示例。

字节只在当前浏览器处理,不上传,也不写入 URL。

选项

输入字节或载入示例。

证书、CSR 或密钥数据被某个库拒绝时,先看它究竟在哪个字节坏掉。ASN.1 解析器保留每层标签与长度,能发现证书摘要页面常常藏起来的截断、父节点越界和末尾残留。

这里也能用 ASN.1 解析器构建单个 TLV:填入标识符和值,自动生成确定长度,再用同一引擎回读。上下文标签只显示编号;没有对应 schema,就不能把它说成某个行业字段。

为什么使用 ASN.1 解析器?

先确认原始字节边界,再谈字段含义。

偏移与长度放在同一棵树

ASN.1 解析器逐节点给出起始偏移、头部长度、内容长度。声明长度超出父容器、BER 结束标记缺失或根节点后有多余字节,都会指向具体位置,不会把残缺前缀当成功。

一串十六进制字节被分为 SEQUENCE 和 INTEGER,旁边标出各自的字节范围。

构建后交回解析器验证

输入完整标签字节与原始值,工具编码确定长度,再走一次解析。构造标签的值必须是完整子 TLV 序列,不能把任意 hex 串误当成合法子节点。

标签和值合成 TLV 字节带,随后回读成两层树结构。

核对封装、边界与回读结果

01

明确选输入封装

默认按十六进制读取;PEM 或 Base64 需要主动切换,本地 DER 文件直接按字节读取。这样纯 hex 文本不会被猜成 Base64。

  • PEM 只接受一组相互匹配的 BEGIN 和 END 行。
02

查出错字节而非猜字段

解码由用户手动触发。选中节点后核对类别、标签号、偏移、头部和内容长度;BER 不定长度只允许构造型。

  • 按 Ctrl/Cmd + Enter 可执行当前视图的主操作。
03

试构建并确认替换

构建视图按值的实际字节数写长度。回读生成结果会先预览对原输入的替换,应用后可撤销一次。

  • 输入或格式一变,旧结果立即过期,复制和下载会禁用。

把二进制边界变成可核对的节点

输入格式不靠猜

十六进制、Base64 与单个 PEM 块需要明确选择;本地 DER 文件无需先转文本。ASN.1 解析器在遍历前先拦截非法编码。

可读值不遮住原始字节

INTEGER、OID 与常见字符串可显示解释值。未知的应用标签仍保留编号与 hex,方便与规范或抓包对照。

有限资源内解析 BER

支持构造型确定和不定长度;输入上限 256 KiB、最多 32 层和 10,000 个节点,避免异常长度拖慢页面。

结构解析的真实边界

成功解析不等于 DER 合规
ASN.1 解析器也接受 BER 构造型不定长度;结构能读通,并不证明 DER 规范化、SET 排序或 schema 匹配。
一次只读一个完整根值
根节点之后还有字节、PEM 中有多个块、长度截断或结束标记缺失都会报错。残缺树不会作为有效结果导出。
不验证证书信任
这里不检查签名、证书链、有效期或私钥是否匹配。ASN.1 解析器展示的是 TLV 字节结构,不替代证书专用验证。
不套用行业 TLV 字典
上下文标签 [0] 本身不表示 EMV 或国密字段;OCTET STRING 和 BIT STRING 也不会仅因内容看似 DER 就自动猜为内嵌结构。

ASN.1 解析器常见问题

它和证书解码器有什么不同?

证书解码器会给 X.509 字段命名。ASN.1 解析器显示通用 tag、长度、值与偏移,可看单个 BER/DER 结构,但不会验证证书信任。

每行开头的数字是什么?

它是这个节点在输入字节中的起始偏移。选中节点还可看到头部长度、内容长度和结束偏移,用来核对 hex 转储。

为什么 OCTET STRING 没有展开成证书字段?

OCTET STRING 的内容可以是任意字节。没有外部 schema 时,不能仅凭看似有效的 TLV 前缀断定它就是证书扩展。

不定长度意味着什么?

BER 的构造值可以靠 00 00 结束标记收尾;DER 不允许。若缺少结束标记,页面会显示明确错误。

可以粘贴私钥吗?

字节会留在当前浏览器,不上传也不写进 URL。不过敏感私钥仍更适合用本机离线工具检查,避免把粘贴密钥进网页当习惯。

还有疑问?

开始使用 ASN.1 解析器

粘贴一个完整编码值或打开本地文件,先把字节边界核清,再决定是否需要专门的 schema 或证书工具。

解析在当前浏览器内完成。