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 データ型について説明します。
関連トピック