8

我创建了一个我的私有 CA 并形成一个 pkcs12 证书文件进行测试,我在我的 linux 机器上使用 openssl 执行此操作:

  • (1) openssl req -config /etc/openssl.cnf -subj /CN=aa1@2C/O=Ruckus Wireless, Inc./ST=CA/C=US -batch -new -nodes -key users/2C.key -out users/2C.csr
  • (2) openssl ca -config /etc/openssl.cnf -extensions client_cert -batch -in users/2C.csr -out users/2C.crt
  • (3) openssl pkcs12 -export -out users/2C.pfx -inkey users/2C.key -in users/2C.crt -certfile cacert.pem -passout stdin

之后,我在 windows 7 机器上复制 2c.pfx 并尝试安装它,但弹出错误消息: 无效的公钥安全对象文件:此文件无效,用作以下内容:个人信息交换。

造成这种情况的原因是什么?我是否形成了错误的 pfx 文件?

4

2 回答 2

3

这有点模糊(我不记得见过它,但是嘿......)。首先,确保您将证书导入到正确的存储中。我遇到的大多数导入错误都是由于他错误的商店。我相信您需要在本地计算机的受信任的根证书颁发机构存储中安装证书(中间证书颁发机构不起作用)。如果这不是商店的问题......

其次,从 Microsoft 论坛尝试一下。无法导入证书(p12 或 pfx 文件)。(我复制了它以防微软重新安排他们的网站。但要清楚,它是别人的解决方案):

secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose

顺便说一句,我认为您可以根据以下 Microsoft 工具检查其格式是否正确。我没有方便的 Windows 机器来测试它。

certutil -dump 2C.pfx
于 2013-12-01T04:20:07.973 回答
2

我也收到了消息

无效的公钥安全对象文件:此文件不能用作以下用途:个人信息交换。

问题是 de p12 文件位于映射为驱动器的网络共享上。将文件复制到我的真实硬盘驱动器 (C:) 解决了这个问题。

于 2021-03-30T07:01:23.273 回答