Share via


ASN.1 型システム

データ型の概念は、抽象構文表記 1 (ASN.1) 標準の基本です。 証明書要求構造のすべてのフィールドは、型に関連付けられます。 たとえば、次の例に示す PKCS #10 ASN.1 証明書構文を考えてみましょう。

--------------------------------------------------------------------
-- PKCS #10 Certificate request.
--------------------------------------------------------------------
CertificationRequestInfo ::= SEQUENCE 
{
   version                 CertificationRequestInfoVersion,
   subject                 Name,
   subjectPublicKeyInfo    SubjectPublicKeyInfo,
   attributes              [0] IMPLICIT Attributes
}

--------------------------------------------------------------------
-- Version number.
--------------------------------------------------------------------
CertificationRequestInfoVersion ::= INTEGER

--------------------------------------------------------------------
-- Subject distinguished name (DN).
--------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName

RelativeDistinguishedName ::= SET OF AttributeTypeValue

AttributeTypeValue ::= SEQUENCE 
{
   type               OBJECT IDENTIFIER,
   value              ANY 
}

--------------------------------------------------------------------
-- Public key information.
--------------------------------------------------------------------
SubjectPublicKeyInfo ::= SEQUENCE 
{
   algorithm           AlgorithmIdentifier,
   subjectPublicKey    BITSTRING
}

AlgorithmIdentifier ::= SEQUENCE 
{
  algorithm           OBJECT IDENTIFIER,
  parameters          ANY OPTIONAL    
} 

--------------------------------------------------------------------
-- Attributes.
--------------------------------------------------------------------
Attributes ::= SET OF Attribute

Attribute ::= SEQUENCE 
{
   type               OBJECT IDENTIFIER,
   values             AttributeSetValue
}

AttributeSetValue ::= SET OF ANY

高レベルの要求構造 CertificationRequestInfo は、他の型のシーケンスから構成される型です。 型が または に含まれているのは、基本型、文字列型、または ANY のみである場合、それ以上分割することはできません。 たとえば、 version フィールドは CertificationRequestInfoVersion 型であり、 整数型は 、他の型から構成されていない基本的な ASN.1 型です。

型システムを使用すると、開発者が容易に理解できる方法で要求の構文を視覚的に表示でき、ネットワーク経由で送信するために要求を一貫してエンコードできます。 エンコードの詳細については、「Distinguished Encoding Rules」を参照してください。 ASN.1 型の詳細については、次のトピックを参照してください。

基本の型

次のデータ型について説明します。

  • BIT STRING
  • BOOLEAN
  • INTEGER
  • NULL
  • オブジェクト識別子
  • OCTET 文字列

文字列型

次の文字列型について説明します。

  • BMPString
  • IA5String
  • PrintableString
  • TeletexString
  • UTF8String

構築された型

基本型、文字列型、またはその他の構築された型を含めることができる ASN.1 データ型について説明します。

 

証明書要求のエンコード

ASN.1 型の DER エンコード

Distinguished Encoding Rules

ASN.1 の構文とエンコードの概要