作为文件形式存在的证书一般有这几种格式:
1.带有私钥的证书
由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名。
2.二进制编码的证书
证书中没有私钥,DER 编码二进制格式的证书文件,以cer作为证书文件后缀名。
3.Base64编码的证书
证书中没有私钥,BASE64 编码格式的证书文件,也是以cer作为证书文件后缀名。
由定义可以看出,只有pfx格式的数字证书是包含有私钥的,cer格式的数字证书里面只有公钥没有私钥。
在pfx证书的导入过程中有一项是“标志此密钥是可导出的。这将您在稍候备份或传输密钥”。一般是不选中的,如果选中,别人就有机会备份你的密钥了。如果是不选中,其实密钥也导入了,只是不能再次被导出。这就保证了密钥的安全。
如果导入过程中没有选中这一项,做证书备份时“导出私钥”这一项是灰色的,不能选。只能导出cer格式的公钥。如果导入时选中该项,则在导出时“导出私钥”这一项就是可选的。
如果要导出私钥(pfx),是需要输入密码的,这个密码就是对私钥再次加密,这样就保证了私钥的安全,别人即使拿到了你的证书备份(pfx),不知道加密私钥的密码,也是无法导入证书的。相反,如果只是导入导出cer格式的证书,是不会提示你输入密码的。因为公钥一般来说是对外公开的,不用加密
注:在linux系统 ,可以用这样的命令
openssl pkcs12 -export -in my.cer -inkey my.key -out mycert.pfx 将cer文件和对应的私钥 转换为pfx 文件,但问题是,哪里得到my.key 文件 ---------------------------------------------------- 为什么要转换为pfx,因为想用soapUI 测试某web service 是否可用,soapUI 需要pfx格式的文件 ---------------------------------------------------- my.cer文件是从哪里来的? 是用https访问某网站时 ,安装的证书 。导出方法是: 备份浏览器证书打开IE浏览器的“工具”,选择“Internet选项”,选择“内容”选项卡,点击“证书”按钮。 打开证书管理器窗口, 在证书列表中,根据您的客户号找到对应的证书。例如,我的客户号是“06000000058”, 在列表中找到自己的证书,号码是“06000000058.0000.0000”。选中该证书,然后选择“导出”, 启动证书导出向导,如下图: 点击“下一步”,系统提示是否将私钥导出,选择导出私钥,点击“下一步“ 注意:请确定选择将“是,导出私钥”,否则您导出的证书将是不完整的(不含私钥),无法正常使用。 选择保存文件格式为“私人信息交换”,并根据需要选择相应选项,然后点击“下一步”: 系统将提示您输入备份证书文件的保护口令(字母和数字的组合,无位数限制,我们统一推荐设成8位, 该口令在您恢复证书时必须使用, ---------------------------------------------------- 按照上面的方法,在win 7 系统没有 提示是否将私钥导出 ,