X.509 RFC 5280 中结构描述中的 [0]、[1]、... 是什么意思?
What does [0], [1], ... in structure description means in X.509 RFC 5280?
我正在研究 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 进行编码。找不到关于这些字节编码的任何解释。有人可以解释一下吗?
这是一个标记类型。请参阅 X.680 第 31.2 节。 [0]
表示该值使用特定于上下文的 class 和数字 0
进行编码。在 DER(X.690 第 8.1.2 和 8.14 节)中,构造的特定于上下文的 class 编号 0
被编码为 0xA0
。
我正在研究 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 进行编码。找不到关于这些字节编码的任何解释。有人可以解释一下吗?
这是一个标记类型。请参阅 X.680 第 31.2 节。 [0]
表示该值使用特定于上下文的 class 和数字 0
进行编码。在 DER(X.690 第 8.1.2 和 8.14 节)中,构造的特定于上下文的 class 编号 0
被编码为 0xA0
。