数字证书常见格式整理

数字证书常见标准

  • 符合PKI ITU-T X509标准 , 传统标准(.DER .PEM .CER .CRT)
  • 符合PKCS#7 加密消息语法标准(.P7B .P7C .SPC .P7R)
  • 符合PKCS#10 证书请求标准(.p10)
  • 符合PKCS#12 个人信息交换标准(.pfx *.p12)
    X509是数字证书的基本规范 , 而P7和P12则是两个实现规范 , P7用于数字信封 , P12则是带有私钥的证书实现规范 。
x509基本的证书格式 , 只包含公钥 。x509证书由用户公共密钥和用户标识符组成 。此外还包括版本号、证书序列号、CA标识符、签名算法标识、签发者名称、证书有效期等信息 。
PKCS#7Public Key Cryptography Standards #7 。PKCS#7一般把证书分成两个文件 , 一个公钥、一个私钥 , 有PEM和DER两种编码方式 。PEM比较多见 , 是纯文本的 , 一般用于分发公钥 , 看到的是一串可见的字符串 , 通常以.crt , .cer , .key为文件后缀 。DER是二进制编码 。PKCS#7一般主要用来做数字信封 。
PKCS#10证书请求语法 。
PKCS#12Public Key Cryptography Standards #12 。一种文件打包格式 , 为存储和发布用户和服务器私钥、公钥和证书指定了一个可移植的格式 , 是一种二进制格式 , 通常以.pfx或.p12为文件后缀名 。使用OpenSSL的pkcs12命令可以创建、解析和读取这些文件 。P12是把证书压成一个文件 , xxx.pfx。主要是考虑分发证书 , 私钥是要绝对保密的 , 不能随便以文本方式散播 。所以P7格式不适合分发 。.pfx中可以加密码保护 , 所以相对安全些 。
PKCS系列标准实际上PKCS#7、PKCS#10、PKCS#12都是PKCS系列标准的一部分 。相互之间并不是替代的关系 , 而是对不同使用场景的定义 。
证书编码格式PEM和DER两种编码格式 。
PEMPrivacy Enhanced Mail查看内容 , 以"-----BEGIN..."开头 , 以"-----END..."结尾 。查看PEM格式证书的信息:openssl x509 -in certificate.pem -text -nooutApache和*NIX服务器偏向于使用这种编码格式 。
DER【数字证书常见格式整理】Distinguished Encoding Rules打开看是二进制格式 , 不可读 。查看DER格式证书的信息:openssl x509 -in certificate.der -inform der -text -nooutJAVA和windows服务器偏向于使用这种编码格式 。
各种后缀含义文件的内容和后缀没有必然的关系 , 但是一般使用这些后缀来表示这是什么文件 。
JKSJava Key Store(JKS) 。
CSR证书请求文件(Certificate Signing Request) 。这个并不是证书 , 而是向权威证书颁发机构获得签名证书的申请 , 其核心内容是一个公钥(当然还附带了一些别的个人信息) 。查看的办法:openssl req -noout -text -in my.csr , DER格式的话加上-inform der 。
CER一般指使用DER格式的证书 。
CRT证书文件 。可以是PEM格式 。
KEY通常用来存放一个公钥或者私钥 。查看KEY的办法:openssl rsa -in mykey.key -text -noout如果是DER格式的话 , 同理应该这样了:openssl rsa -in mykey.key -text -noout -inform der这是使用RSA算法生成的key这么查看 , DSA算法生成的使用dsa参数 。
CRL证书吊销列表 (Certification Revocation List) , 是一种包含撤销的证书列表的签名数据结构 。




    推荐阅读