数字证书文件格式(cer和pfx)的区别

来源:互联网 发布:mac桌面不显示文件 编辑:程序博客网 时间:2024/05/23 19:16



数字证书文件格式(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格式的证书,是不会提示你输入密码的。因为公钥一般来说是对外公开的,不用加密




------------ pfx密钥 -----------

公钥 加密+验证签名


私钥 解密+签名

--------



pfx 本来就不应该在网络上传播..   生成新的客户端证书只需要传 CSR, CER ..  正确的过程应该是:


客户端:   生成私钥,    填写证书相关信息  CN/O/OU/EMail 等等,   用 私钥生成 证书请求  CSR ..


把 CSR 通过网络发给 CA


CA:   对 CSR 进行签名, 生成  CER


CA 把证书发送回来


客户端:  打包私钥 + CER 为 PKCS#12  (pfx)  文件. 


整个过程都不会传递私钥.











1 0
原创粉丝点击