ASN.1 BER 编码

问题描述 投票:0回答:2

1 语法。当我将此语法编码为 BER 时,未提供正确的结果。

我正在使用 OSS ASN.1 Stdio 来编译 asn.1 语法

SignDoc DEFINITIONS AUTOMATIC TAGS ::= BEGIN

OneSignature ::= SEQUENCE {
signTime UTCTime,
signature BIT STRING,
certificate BIT STRING
}


first-Doc OneSignature ::={

        signTime "130223064540Z",
        signature '0111010001100101011100110111010000100000'B,
        certificate '0111010001100101011100110111010000100000'B

}

  END

BER 编码结果为:

30 1F
   80 0D 3133303232333036343534305A
   81 06 007465737420
   82 06 007465737420

这是正确的结果吗?

我们要求BER编码的结果是:

30 1F
   23 0D 3133303232333036343534305A
   03 06 007465737420
   03 06 007465737420

请提供建议。

谢谢

asn.1
2个回答
2
投票

您应该将有关 OSS 工具的问题直接发送给 OSS 技术支持([电子邮件受保护])。在这种情况下,我怀疑如果您删除 ASN.1 模块顶部的“自动标签”,您将得到您正在寻找的结果。


0
投票

第一个是隐式“自动标记”。第二个是“未标记”

它们都是正确的取决于定义。

由于您的定义具有此“自动标签”,因此如果“隐式”是模块默认值,则第一个结果是正确的结果。请检查此链接以获取更多信息: https://www.oss.com/asn1/resources/asn1-made-simple/asn1-quick-reference/asn1-tags.html

© www.soinside.com 2019 - 2024. All rights reserved.