x.509

X.509 证书

Posted by minicool on April 23, 2015

X.509

X.509是一种数字证书格式。数字证书是由权威机构——CA机构,又称为证书授权(Certificate Authority)中心发行的。用于对数字身份信息进行授权,用于验证的证书信息。

常见数据格式

cer/crt是用于存放证书,它是2进制形式存放的,不含私钥。

pem跟crt/cer的区别是它以Ascii来表示,可以用于存放证书或私钥。

pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式。

p10是证书请求。

p7r是CA对证书请求的回复,只用于导入

p7b以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥。

x.509 数据格式

TBSCertificate::=SEQUENCE{
    version           [0]   EXPLICIT Version DEFAULT v1,        #x.509具体版本号
    serialNumber            CertificateSerialNumber,            #序列号加上唯一标示当前证书
    signature               AlgorithmIdentifier,                #证书签名的算法
    issuer                  Name,                               #CAX.509名字
    validity                Validity,                           #有效期的起止时间
    subject                 Name,                               #该证书所证明的密钥所有者实体
    subjectPublicKeyInfo    SubjectPublicKeyInfo,               #主题的公钥即使用算法的ID
    issuerUniqueID    [1]   IMPLICIT UniqueIdentifier OPTIONAL, #可选的ID,唯一标示证书的颁发者
    subjectUniqueID   [2]   IMPLICIT UniqueIdentifier OPTIONAL, #可选的ID,唯一标示证书的主题
    extensions        [3]   EXPLICIT Extensions OPTIONAL        #目前定义的扩展域
}