X.509証明書
X.509証明書(X.509 Certificate)
デジタル証明書の標準フォーマット
公開鍵情報(subjectPublicKeyInfo)という項目が含まれるぐらいなので、公開鍵暗号方式の仕組みにとても関わりが深い code:memo
Certificate ::= SEQUENCE {
tbsCertificate TBSCertificate,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING }
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
}
Version ::= INTEGER { v1(0), v2(1), v3(2) }
CertificateSerialNumber ::= INTEGER
Validity ::= SEQUENCE {
notBefore Time,
notAfter Time }
Time ::= CHOICE {
utcTime UTCTime,
generalTime GeneralizedTime }
UniqueIdentifier ::= BIT STRING
SubjectPublicKeyInfo ::= SEQUENCE {
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING }
Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
Extension ::= SEQUENCE {
extnID OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTET STRING
-- contains the DER encoding of an ASN.1 value
-- corresponding to the extension type identified
-- by extnID
tbsCertificate: TBSCertificate
バージョン(version)
X.509証明書のバージョン
シリアル番号(serialNumber)
CAによって割り当てられた正の整数
署名アルゴリズム(signature): AlgorithmIdentifier
発行者が証明書に署名する際に用いるアルゴリズム(ハッシュ関数:MD5、SHA-1、SHA-2など。署名アルゴリズム:RSA、DSA、ECDSAなど)
証明書発行者(issuer)
証明書に署名して発行した機関の名前
証明書の有効期間(validity)
「有効期間が始まる日付」および「有効期間が終わる日付」を記した、その証明書の有効期間
主体者(subject)
証明書の所有者の名前
主体者の公開鍵情報(subjectPublicKeyInfo)
証明書所有者(主体者)の公開鍵に関する情報
要素
アルゴリズム(algorithm)
主体者公開鍵(subjectPublicKey)
発行者ユニーク識別子(issuerUniqueID)
主体者ユニーク識別子(subjectUniqueID)
拡張(extensions)
証明書の拡張領域
signatureAlgorithm: AlgorithmIdentifier
発行者が証明書に署名する際のアルゴリズム
code:memo
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL }
signatureValue
tbsCertificateについて計算されるCAの署名
確認用
Q. X.509証明書
参考
関連
メモ