我们从供应商那里收到了一份用 TLV 编码的 CDR 规范文档,我们正在尝试为它构建一个解析器。据他们说,他们的 CDR 是按照 ASN.1 BER 编码格式化的。然而,当被问及 ASN.1 规范文件时,他们说他们没有,他们的文件就是他们所拥有的。
虽然不那么精通 ASN.1 语法,但我正在尝试将该规范逆向工程为 ASN.1 规范。
它们的标签和长度可以编码为 1 或 2 个字节。
让我分享一些示例记录的前几个字节:
804e 8060 8002 805c 010100 02089999999999999999 ...
804e 8066 8002 8062 010101 02089999999999999999 ...
首先,这真的符合BER ASN.1吗?因为在阅读ASN.1、BER 和 DER 子集的外行指南之后,对于 2 字节(或更多)的标签,第一个字节的 5-1 位必须设置为 1,并且 804e 和 8002不适合这个。
其次,如何将上述格式转换为 ASN.1 规范?
谢谢你。