Я изучающие RFC 5280 (https://tools.ietf.org/html/rfc5280) и заметили странное метки ([0], [1], [2], [3]) в TBSCertificate определении структурыЧто делает [0], [1], ... в описании структуры в X.509 RFC 5280?
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. Невозможно найти объяснение в отношении этих байтов. Может ли кто-нибудь объяснить мне?
Как узнать, какой тип он будет представлять в контексте этого контекста? – academica
Я не понимаю ваш вопрос в комментарии выше. Возможно, вы не понимаете, что означает «контекстно-зависимая». В ASN.1 существует четыре класса тегов: универсальный, прикладной, контекстно-зависимый и закрытый. Если тег был написан [ПРИМЕНЕНИЕ 1], это будет тег приложения. Как написано, это тег, специфичный для контекста. Контекстно-зависимая здесь не означает, что в разных контекстах будет другой тег. Этот вопрос может помочь: http://stackoverflow.com/questions/15035349/how-does-0-and-3-work-in-asn1 – Kevin