gpt4 book ai didi

ASN.1 SEQUENCE (OF) 真实标签值

转载 作者:行者123 更新时间:2023-12-02 03:56:47 25 4
gpt4 key购买 nike

我发现很多关于 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

根据 Microsoft 的说法,它是 0x30:

http://msdn.microsoft.com/en-us/library/windows/desktop/bb540799%28v=VS.85%29.aspx

在 BouncycaSTLe 来源中可以找到:

public const int Sequence = 0x10;

所以它基本上是 0x10 和 0x30 之间的平局。你知道真正的值(value)是或者我错过了什么吗?

最佳答案

BER 编码的“标签”由多个位字段组成:

---------------------------------| 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |---------------------------------|Class  |P/C| Tag Number        |---------------------------------
  • 序列(在通用类中)的标记号是 0x10。
  • 序列是构造类型,使 P/C 位为 1
  • 通用等级为 0
  • 这使得整个八位字节为 0x30

请注意,有多种方法可以对 BER/DER/CER 中的序列进行编码,这取决于所使用的确切 ASN.1。例如某些协议(protocol)可能会覆盖该类并将序列指定为应用程序特定类,和/或如果使用隐式标记,它可能会指定自己的标记号。

您可以阅读 BER 编码规范 here

关于ASN.1 SEQUENCE (OF) 真实标签值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7778063/

25 4 0