X509证书使用数字签名将身份绑定到公钥。通常包含两种类型证书:一种是CA证书,CA证书可以颁发其他证书,最上层的CA证书也称为根证书,其他CA证书称为中间CA证书或者子CA证书。另一种是实体终端证书,这种证书不能颁发其他证书。
X509 V3证书格式
证书Subject name
由上面证书结构我们可以知道X509证书包含一系列的属性,其中有一个就是subject name,这个属性主要用来表明该证书的部门名称,同时通过该字段我们也可以验证我们当前证书是不是我们需要访问的链接的证书。其包含了如下常用属性对
属性 | 全称 |
---|---|
CN | CommonName |
OU | OrganizationalUnit |
O | Organization |
L | Locality |
ST | State or ProvinceName |
C | CountryName |
emailAddress | email address |
一个简单例子如下: |
CN=Sample Cert, OU=R&D, O=Company Ltd., L=Dublin 4, S=Dublin, C=IE
编码格式
x509证书主要有2种编码格式,一种是DER格式,另一种是PEM格式。
1. DER格式
二进制格式。der类型的不用在编码解码,直接就是二进制的数据可以直接使用
2.PEM格式
PEM格式的文件是普通的文本文件,实际内容进行了某些编码(如Base64编码)数据要根据base64编码解码后,得到的数据需要进行增加或裁剪特殊字符-、\n、\r、begin信息、end信息等。通常PEM文件都包含不同的页眉页脚。
证书签名请求CSR的格式如下
-----BEGIN CERTIFICATE REQUEST----
...
-----END CERTIFICATE REQUEST-----
RSA私钥文件格式如下
-----BEGIN PRIVATE KEY----
...
-----END PRIVATE KEY-----
证书文件格式如下