公開鍵証明書
PKIの証明書の形式
Certificate
RFC 5280 4.1.1.
code:Certificate : CAの署名
Certificate ::= SEQUENCE {
tbsCertificate TBSCertificate,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING }
signatureAlgorithm は
CAがtbsCertificateに署名するためのアルゴリズム
tbsCertificate の signature と同じ
RFC 5280 4.1.1.1. tbsCertificate
code:TBSCertificate : 証明書の情報
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
現在は3 (値は2)
extensions がなく UniqueIdentifier が存在する場合は 2 (値は1) 3でもよい
serialNumber 非負整数 CA内で一意であること 最大20オクテット
signature CAが署名に使用したアルゴリズム Certificate の signatureAlgorithm と同じ
issuer 発行者 DNがひつよう
code:SubjectPublicKeyInfo : 公開鍵
SubjectPublicKeyInfo ::= SEQUENCE {
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING }
RFC 5280 楕円公開鍵暗号(ECDSA)
RSA
DSA