我对ASN1 der的解释在哪里?

时间:2016-01-25 14:00:43

标签: encoding openssl cryptography der pyasn1

以下是我的结构:

 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-  

这不是我期望看到的。 (看看我希望它看起来的结构)

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

1 个答案:

答案 0 :(得分:3)

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

因此,您应该使用值1110而不是3130。然后你的代码应该正确解析。

相关问题