对于含有私钥的个人信息交换密钥证书PKCS #12(.pfx, .p12) 来说,大多浏览器都是使用操作系统内置证书,而Firefox是自有的一套证书管理系统,就目前Firefox 57之后导出的pfx/p12证书会在Windows10中导入时提示密码错误,解决办法如下:
对于含有私钥的个人信息交换密钥证书PKCS #12(.pfx, .p12) 来说,大多浏览器都是使用操作系统内置证书,而Firefox是自有的一套证书管理系统,就目前Firefox 57之后导出的pfx/p12证书会在Windows10中导入时提示密码错误,解决办法如下:
⚠️ 自2021年6月起,CA提供代码签名、数字签名证书订购过程需要使用IE进行证书配置、提取
更新事项:
最新的Firefox 62已解决此缺陷,请下载最新版Firefox 62
表现问题:
硬件:Windows10最新版 、Firefox 59最新版
使用Firefox导出代码签名证书时(参考:使用Firefox进行数字证书安装和管理),我们设置了一个最简单,最基本的123456备份密码,无论怎样在Windows 10导入到任何用户的证书容器中,都会出现“输入的密码不正确”,而这个由Firefox导出的PFX证书在Windows 7中是可以正常导入,目前已知BUG由Firefox 59引起:https://bugzilla.mozilla.org/show_bug.cgi?id=1436873。因此导至在Windows 10下进行软件签名无法正常进行。
解决方案:
目前主要的解决方案是使用Windows7、Firefox 57、openSSL这些系统或工具进行二次导入再导出,这样就能够在Windows10中正常导入了
1、将Firefox导出的pfx证书在Windows的证书管理器中导入,导入成功后再将该导入的pfx证书导出为pfx证书;
2、安装Firefox 57版本(下载:百度网盘 / 谷歌网盘),将Firefox新版本导出的pfx证书在“您的证书”中导入后再导出;
3、使用openSSL命令行执行以下转换命令
openssl pkcs12 -in server.pfx -out server.pem -nodes #pfx证书转换为x.509格式的pem证书
openssl pkcs12 -in server.pfx -nocerts -nodes -out server.key #pfx证书中提取密钥对
openssl rsa -in server.key -out server_private.key #密钥对提取私钥
openssl pkcs12 -export -in server.pem -inkey server_private.key -out server_win.pfx #使用x.509+私钥转换为win10可用的pfx证书
以上三种方法均可解决此问题