3

这是我的结构的样子:

 SET OF
  SEQUENCE:
     INTEGER: XX
     INTEGER: YY

我的编码如下所示:

11 08 10 06 02 01 XX 02 01 YY        

11 08 -- SET OF
10 06 -- SEQUENCE 

但是,当我使用 openssl 解码时,我看不到预期的输出。看起来像

  0:d=0  hl=2 l=   8 prim: SET               
      0000 - 10 06 02 01 XX 02 01 YY-  

这不是我期望看到的。(看看我想要的结构)

我不确定我错过了什么。任何帮助将非常感激。

4

1 回答 1

3

SET 和 SEQUENCE 是构造类型。这意味着需要设置标记中指示构造类型的位。那将是第 5 位或第 6 位(取决于您是从第 0 位还是第 1 位开始)。如果未设置该位,则解析器会将其视为原始类型,这意味着它具有单个值而不是子值。这就是为什么你得到prim你的输出。标记号仍然是 17 或 16,表示 SET OF 或 SEQUENCE,因此该结构仍被视为 SET。

因此,您应该使用值而不是11and和. 然后你的代码应该正确解析。103130

于 2016-01-25T15:13:00.100 回答