结构描述中的[0],[1],...在X.509 RFC 5280中意味着什么?

时间:2016-09-30 13:03:02

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

我正在研究RFC 5280(https://tools.ietf.org/html/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进行编码。无法找到有关这些字节编码的任何解释。有人可以解释一下吗?

1 个答案:

答案 0 :(得分:4)

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