Keep on going, never give up.

常见数字证书格式

“数字证书”顾名思义,就是“数字化的证书”,厕所街头的办证广告都是办的纸质证书,跟数字证书不同,无法直接在网络上使用,于是出现数字证书,数字证书具有用于网络验证身份作用,且由权威机构颁发,街头办证的一般都搞不到。在实际使用中,由权威机构负责验证,当然前提是双方都要信得过这个“权威机构”。

一、数字证书常见标准

数字证书体现为一个或一系列相关经过加密的数据文件。常见格式有:

  • 符合PKI ITU-T X509标准,传统标准(.DER .PEM .CER .CRT)
  • 符合PKCS#7 加密消息语法标准(.P7B .P7C .SPC .P7R)
  • 符合PKCS#10 证书请求标准(.p10)
  • 符合PKCS#12 个人信息交换标准(.pfx *.p12)

当然,这只是常用的几种标准,其中,X509证书还分两种编码形式:

  • X.509 DER(Distinguished Encoding Rules)编码,后缀为: .DER .CER .CRT
  • X.509 BASE64编码,后缀为: .PEM .CER .CRT

X509是数字证书的基本规范,而P7和P12则是两个实现规范,P7用于数字信封,P12则是带有私钥的证书实现规范。

二、数字证书存储内容

采用的标准不同,生成的数字证书,包含内容也可能不同。

下面就证书包含/可能包含的内容做个汇总,一般证书特性有:

  • 存储格式:二进制还是ASCII
  • 是否包含公钥、私钥
  • 包含一个还是多个证书
  • 是否支持密码保护(针对当前证书)

其中:

  • *.der/*.cer/*.crt 以二进制形式存放证书,只有公钥,不包含私钥。
  • *.csr 证书请求
  • *.pem 以Base64编码形式存放证书,以"-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----"封装,只有公钥。
  • *.pfx/*.p12也是以二进制形式存放证书,包含公钥、私钥,包含保护密码。pfx和p12存储格式完全相同只是扩展名不同。
  • *.p10 证书请求
  • *.p7r CA对证书请求回复,一般做数字信封
  • *.p7b/*.p7c 证书链,可包含一个或多个证书。

理解关键点:

  • 凡是包含私钥的,一律必须添加密码保护(加密私钥),因为按照习惯,公钥是可以公开的,私钥必须保护,所以明码证书以及未加保护的证书都不可能包含私钥,只有公钥,不用加密。
  • 上文描述中,*.der均表示证书且有签名,实际使用中,还有DER编码的私钥不用签名,实际上只是个“中间件”。

另外:

证书请求一般采用.csr扩展名,但是其格式有可能是PEM也可能是DER格式,但都代表证书请求,只有经过CA签发后才能得到真正的证书。

参考资料:

http://en.wikipedia.org/wiki/X.509

http://topic.csdn.net/u/20071015/18/37a2bffb-2354-493e-b5a9-b96ab28063ae.html

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.