2016-09-30 3 views
0

내가 RFC 5280 (https://tools.ietf.org/html/rfc5280)을 공부하고 이상 발견했습니다 마크 ([0], [1], [2], [3]) ASN.1의 IT 코드에서 TBSCertificate 구조 정의X.509 RFC 5280에서 구조 설명의 [0], [1], ...은 무엇을 의미합니까?

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 
    } 

에서 특수 바이트 0xA0, 0xA1, 0xA2, 0xA3을 사용합니다. 이 바이트 인코딩에 대한 설명을 찾을 수 없습니다. 누군가 나를 설명 할 수 있습니까?

답변

4

태그가있는 유형입니다. X.680 섹션 31.2를 참조하십시오. [0]은 값이 컨텍스트 관련 클래스 및 숫자 0으로 인코딩됨을 의미합니다. DER (X.690 섹션 8.1.2 및 8.14)에서 숫자 0으로 구성된 컨텍스트 관련 클래스는 0xA0으로 인코딩됩니다.

+0

이 컨텍스트 특정 조건 하에서 어떤 유형을 나타낼 것인지 어떻게 알 수 있습니까? – academica

+0

위의 의견에서 귀하의 질문에 이해가 안됩니다. "상황에 맞는"의미를 오해 할 수도 있습니다. ASN.1에는 범용, 응용 프로그램, 컨텍스트 특정 및 개인의 4 가지 태그 클래스가 있습니다. 태그에 [APPLICATION 1]이라고 쓰면 응용 태그가됩니다. 작성된대로 문맥에 맞는 태그입니다. 문맥에 따라 다르다는 것은 다른 상황에서 다른 태그가 있다는 것을 의미하지는 않습니다. 이 질문은 도움이 될 수 있습니다. http://stackoverflow.com/questions/15035349/how-does-0-and-3-work-in-asn1 – Kevin

관련 문제