X.509 バージョン 1 証明書には、次のフィールドが含まれています。 バージョン 2 のフィールドについては、バージョン 2 のフィールドで説明されています。 バージョン 3 のフィールドについては、バージョン 3 拡張機能ので説明します。
バージョン
エンコードされた証明書のバージョン番号を指定します。 現在、このフィールドの使用可能な値は 0、1、または 2 ですが、将来拡張される可能性があります。
---------------------------------------------------------------------
-- Version number. Currently, this can be 0, 1, or 2.
---------------------------------------------------------------------
CertificateVersion ::= INTEGER {v1(0), v2(1), v3(2)}
シリアル番号
証明機関 (CA) によって証明書に割り当てられた正の一意の整数が含まれています。
---------------------------------------------------------------------
-- Certificate serial number
---------------------------------------------------------------------
CertificateSerialNumber ::= INTEGER
署名アルゴリズム
CA が証明書に署名するために使用するアルゴリズムを指定する オブジェクト識別子 (OID) が含まれています。 たとえば、1.2.840.113549.1.1.5 では、SHA-1 ハッシュ アルゴリズムと RSA ラボラトリーの RSA 暗号化アルゴリズムを組み合わせて指定します。
---------------------------------------------------------------------
-- Signature OID
---------------------------------------------------------------------
signature ::= AlgorithmIdentifier
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY OPTIONAL
}
発行者
証明書を作成して署名した CA の X.500 識別名 (DN) が含まれます。
---------------------------------------------------------------------
-- Issuer name
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value ANY
}
有効
証明書が有効な期間を指定します。 2049 年末までの日付は、協定世界時 (グリニッジ標準時) 形式 (yymmddhhmmssz) を使用します。 2050 年 1 月 1 日以降の日付は、一般化された時刻形式 (yyyymmddhhmmssz) を使用します。
---------------------------------------------------------------------
-- Validity period
---------------------------------------------------------------------
Validity ::= SEQUENCE
{
notBefore ChoiceOfTime,
notAfter ChoiceOfTime
}
ChoiceOfTime ::= CHOICE
{
utcTime UTCTime,
generalTime GeneralizedTime
}
件名
証明書に含まれる公開キーに関連付けられているエンティティの X.500 識別名が含まれています。
---------------------------------------------------------------------
-- Subject name
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value ANY
}
公開キー
公開キーと関連するアルゴリズム情報を格納します。
---------------------------------------------------------------------
-- Subject public key information
---------------------------------------------------------------------
SubjectPublicKeyInfo ::= SEQUENCE
{
algorithm AlgorithmIdentifier,
subjectPublicKey BITSTRING
}
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY OPTIONAL
}
関連トピック