x509证书格式
x509证书格式
X.509是国际电信联盟-电信(ITU-T)部分标准和国际标准化组织(ISO)的证书格式标准。
使用ASN.1描述,我们可以将其抽象为以下结构。
Certificate::=SEQUENCE{
tbsCertificate TBSCertificate,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING
}
TBSCertificate::=SEQUENCE{
version [0] EXPLICIT Version DEFAULT v1,
serialNumber CertificateSerialNumber,
signatureAlgorithm AlgorithmIdentifier,
issuer Name,
validity Validity,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
extensions [3] EXPLICIT Extensions OPTIONAL
}
字段 | 含义 | 备注 |
---|---|---|
tbsCertificate.version | 证书协议版本 | 当前一般使用v3 |
tbsCertificate.serialNumber | 证书序列号 | 用于唯一标识证书,特别在吊销证书的时候有用 |
tbsCertificate.signatureAlgorithm | id签名算法 | |
tbsCertificate.issuer | 颁发者信息 | 国家(C,Country),州/省(S,State),地域/城市(L,Location),组织/单位(O,Organization),通用名称(CN,Common Name) |
tbsCertificate.validity | 生效/失效时间 | |
tbsCertificate.subject | 证书所有人信息 | 国家(C,Country),州/省(S,State),地域/城市(L,Location),组织/单位(O,Organization),通用名称(CN,Common Name) |
tbsCertificate.subjectPublicKeyInfo | 证书所有人的公钥 | |
tbsCertificate.issuerUniqueID | 颁发者唯一标识符(可选) | |
tbsCertificate.subjectUniqueID | 证书所有人唯一标识符(可选) | |
tbsCertificate.extensions | 扩展信息(可选) | |
signatureAlgorithm | 证书签名算法 | |
signatureValue | 签名数据 |