博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于pfx和cer数字证书
阅读量:6937 次
发布时间:2019-06-27

本文共 1235 字,大约阅读时间需要 4 分钟。

  hot3.png

1、数字证书文件cer和pfx的区别

作为文件形式存在的证书一般有这几种格式:

1.带有私钥的证书

由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名。

2.二进制编码的证书

证书中没有私钥,DER 编码二进制格式的证书文件,以cer作为证书文件后缀名。

3.Base64编码的证书

证书中没有私钥,BASE64 编码格式的证书文件,也是以cer作为证书文件后缀名。

由定义可以看出,只有pfx格式的数字证书是包含有私钥的,cer格式的数字证书里面只有公钥没有私钥。

在pfx证书的导入过程中有一项是“标志此密钥是可导出的。这将您在稍候备份或传输密钥”。一般是不选中的,如果选中,别人就有机会备份你的密钥了。如果是不选中,其实密钥也导入了,只是不能再次被导出。这就保证了密钥的安全。

如果导入过程中没有选中这一项,做证书备份时“导出私钥”这一项是灰色的,不能选。只能导出cer格式的公钥。如果导入时选中该项,则在导出时“导出私钥”这一项就是可选的。

如果要导出私钥(pfx),是需要输入密码的,这个密码就是对私钥再次加密,这样就保证了私钥的安全,别人即使拿到了你的证书备份(pfx),不知道加密私钥的密码,也是无法导入证书的。相反,如果只是导入导出cer格式的证书,是不会提示你输入密码的。因为公钥一般来说是对外公开的,不需要加密。

2、关于pfx证书和cer证书

 pfx证书,同时包含了公钥信息和私钥信息

cer证书只包含公钥信息
154652_sKHU_2250656.png

如果客户端与网站通信时需要用到私钥(基本所有需要数字证书的网站都会用到私钥),则cer证书是无法正常访问网站的,网站会提示“该页要求客户证书”:

由于cer证书只包含公钥信息,一般只能用于解密使用(解密该公钥对应的私钥加密的数据)。

Pfx证书既可以导出为pfx证书,也可以导出为cer证书。

Pfx证书导出时,会提示是否导出私钥,导出私钥即pfx证书,不到出则是cer证书。

如果选择导出私钥,出于安全性考虑,浏览器会提示你指定一个密码用于保护该私钥,日后再次导入该pfx证书时,浏览器会要求你提供该私钥保护密码。

导入pfx证书时,需要指定私钥保护密码,另外还有一个选项“标志此密钥为可导出密钥。这将允许您稍后备份或传输密钥”,出于安全性考虑,该选项默认是不勾选的,如果不勾选,下次从浏览器导出该证书时,则无法导出pfx格式了,只能导出不包含私钥的cer格式了。

154746_B85K_2250656.png

pfx证书导入时,如果未勾选“密钥可导出”,则下次导出时,由于无法导出私钥,只能导出cer证书了。

pfx证书默认导入到“个人”选项卡下。

cer证书只能导入到“其他人”选项卡下,无法导入到“个人”选项卡下。

cer证书不能导出为pfx证书。

图片部分来自网络

转载于:https://my.oschina.net/ljc94/blog/731992

你可能感兴趣的文章
JavaWeb系列之:Servlet
查看>>
【转】java线程系列---Runnable和Thread的区别
查看>>
微信公众号开发之微信JSSDK
查看>>
函数式编程(小练习)
查看>>
Git 创建两个“本地分支”协同工作
查看>>
she
查看>>
JS脚本调试
查看>>
病毒实验二
查看>>
IOS开发中的变量、方法、属性
查看>>
IT风险管理专家CISRE认证
查看>>
yii redirect
查看>>
uva-10954-贪心
查看>>
wxPython笔记
查看>>
使用 邮箱配置 激活码 用于 用户注册激活
查看>>
Recover Binary Search Tree
查看>>
Linux之因BASH造成的键盘错误和环境问题
查看>>
RBAC权限设计实例(转)
查看>>
JavaScript求当月天数
查看>>
一个典型的后台软件系统的设计复盘——(二)如何id一个事物
查看>>
springboot 详细配置2
查看>>