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
请提供建议。
谢谢
您应该将有关 OSS 工具的问题直接发送给 OSS 技术支持([电子邮件受保护])。在这种情况下,我怀疑如果您删除 ASN.1 模块顶部的“自动标签”,您将得到您正在寻找的结果。
第一个是隐式“自动标记”。第二个是“未标记”
它们都是正确的取决于定义。
由于您的定义具有此“自动标签”,因此如果“隐式”是模块默认值,则第一个结果是正确的结果。请检查此链接以获取更多信息: https://www.oss.com/asn1/resources/asn1-made-simple/asn1-quick-reference/asn1-tags.html