理解ASN.1整数PER编码

5
考虑这个 h225 Ras Registration Request (RRQ) 的 Wireshark 跟踪记录:
如您所见,Wireshark 将 requestSeqNum 解码为 25601,但字节表示形式为 0x6400,即 25600。我查看了 ASN.1 PER 编码规则,但找不到值必须增加 1 的原因。我的问题是,Wireshark 是否正确解码了此内容,如果是,我在规范中可以找到哪些相关信息?
ASN.1 代码:
RequestSeqNum       ::= INTEGER (1..65535)

事实上,Wireshark对于所有h225消息都会将requestSeqNum加1。
1个回答

4

没关系,我在ASN.1 PER编码规则规范中找到了:

11.5.7.3 (两个八位组的情况)。如果“范围”的值大于等于257且小于等于64K,则将值(“n” - “lb”)作为非负二进制整数编码在两个八位组的位域中(在ALIGNED变体中是按八位组对齐的),如11.3所述。

在这种情况下,“lb”(下限)为1,这解释了我的问题。我看错了规范中的位置,读规范让我头疼:)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接