2016-09-30 1 views
0

Iは、RFC 5280(https://tools.ietf.org/html/rfc5280)を勉強と奇妙に気づいたマーク([0]、[1]、[2]、[3])のASN.1そのコードでた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 
    } 

で特別なバイト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

関連する問題