【问题标题】:What does [0], [1], ... in structure description means in X.509 RFC 5280?X.509 RFC 5280 中结构描述中的 [0], [1], ... 是什么意思?
【发布时间】:2017-02-09 01:45:20
【问题描述】:

我正在研究 RFC 5280 (https://www.rfc-editor.org/rfc/rfc5280) 并注意到 TBSCertificate 结构定义中的奇怪标记([0]、[1]、[2]、[3])

TBSCertificate  ::=  SEQUENCE  {
    version         [0]  EXPLICIT Version DEFAULT v1,
    serialNumber         CertificateSerialNumber,
    signature            AlgorithmIdentifier,
    issuer               Name,
    validity             Validity,
    subject              Name,
    subjectPublicKeyInfo SubjectPublicKeyInfo,
    issuerUniqueID  [1]  IMPLICIT UniqueIdentifier OPTIONAL,
                         -- If present, version MUST be v2 or v3
    subjectUniqueID [2]  IMPLICIT UniqueIdentifier OPTIONAL,
                         -- If present, version MUST be v2 or v3
    extensions      [3]  EXPLICIT Extensions OPTIONAL
                         -- If present, version MUST be v3
    }

在 ASN.1 中,它使用特殊字节 0xA0、0xA1、0xA2、0xA3 进行编码。找不到关于这些字节编码的任何解释。谁能解释一下?

【问题讨论】:

    标签: ssl-certificate x509certificate x509 asn.1 der


    【解决方案1】:

    这是一个标记类型。参见 X.680 第 31.2 节。 [0] 表示该值使用特定于上下文的类和数字 0 进行编码。在 DER(X.690 第 8.1.2 和 8.14 节)中,编号为 0 的构造的特定于上下文的类被编码为 0xA0

    【讨论】:

    • 我如何知道在这种特定于上下文的条件下它将代表哪种类型?
    • 我不明白你在上面评论中的问题。您可能误解了“特定于上下文”的含义。 ASN.1 中有四类标签:通用标签、应用标签、上下文特定标签和私有标签。如果标签写成 [APPLICATION 1],它将是一个应用标签。正如所写,它是一个特定于上下文的标签。这里的上下文特定并不意味着在不同的上下文中会有不同的标签。这个问题可能会有所帮助:stackoverflow.com/questions/15035349/…
    猜你喜欢
    • 2022-11-24
    • 1970-01-01
    • 2020-09-24
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    • 2017-06-24
    • 2014-11-06
    • 1970-01-01
    相关资源
    最近更新 更多