我发现了很多关于SEQUENCE(OF)ASN.1数据类型的标记值的矛盾信息:
维基百科声称它是0x10和0x30:
http://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One - >的0x30
http://en.wikipedia.org/wiki/Basic_Encoding_Rules - > 0x10的
根据微软的说法,它是0x30:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb540799%28v=VS.85%29.aspx
在Bouncycastle的资料中可以找到:
public const int Sequence = 0x10;
所以它基本上是0x10和0x30之间的联系。你知道真正的价值是或者我错过了什么吗?
答案 0 :(得分:17)
BER编码的“标签”由几个位字段组成:
--------------------------------- | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | --------------------------------- |Class |P/C| Tag Number | ---------------------------------
请注意,有许多方法可以对BER / DER / CER中的序列进行编码,这取决于所使用的确切ASN.1。例如某些协议可能会覆盖该类并将序列指定为Application Specific类,和/或如果使用了隐式标记,它可能会指定自己的标记号。
您可以阅读BER编码规范here