无法将两个 p12/pfx 客户端证书导入 Chrome 或 Firefox

无法将两个 p12/pfx 客户端证书导入 Chrome 或 Firefox

我有一个网站,想在其中使用客户端身份验证证书。这只是我和少数家人/朋友的个人网站,因此我创建了一个 CA 来签署一些证书,我可以将这些证书分发给他们,这样他们就可以无需密码登录。

问题是,我创建了两个 p12 格式的客户端证书,但无法加载两个都进入 Chrome 或 Firefox。但我可以单独加载每个浏览器,但当我尝试加载第二个浏览器时,却出现“未知错误”。

因此,如果我先将我的证书加载到 chrome 或 firefox 中,加载会很顺利。然后,如果我添加我妻子的证书,就会出现错误。如果我删除我的证书,只添加我妻子的证书,加载会很顺利。但是,当我尝试导入我的证书时,就会出现错误。

这就是我创造一切的方式。

#1 Make CA and Cert
openssl genrsa -aes256 -out projects_ca.key 4096
openssl req -new -x509 -days 365 -key projects_ca.key -out projects_ca.crt

#2 Make Server Key 
openssl genrsa -aes256 -out projects_server.key 4096
openssl req -new -key projects_server.key -out projects_server.csr

#3 Self Sign Server Key
openssl x509 -req -days 365 -in projects_server.csr -CA projects_ca.crt -CAkey projects_ca.key -set_serial 001 -out projects_server.crt

#4 Make Client Key
openssl genrsa -aes256 -out husband_client.key 4096
openssl req -new -key husband_client.key -out husband_client.csr

#5 Sign Client Key
openssl x509 -req -days 365 -in husband_client.csr -CA projects_ca.crt -CAkey projects_ca.key -set_serial 001 -out husband_client.crt

#6 Converet Client Key to p12
openssl pkcs12 -export -out husband_client.p12 -inkey husband_client.key -in husband_client.crt -certfile projects_ca.crt

然后我对“wife_client”重复步骤 4-5。

但我无法将 wife_client.p12 和 husband_client.p12 同时导入 Chrome。

具体来说,在 Chrome 中,当我导入第二个密钥时。它要求输入 p12 密码,我输入了该密码。但随后它给出了以下错误:

“未知错误”

在 Firefox 中,我导入了第二个密钥,它还要求我输入密码,然后出现此错误:

“PKCS #12 操作因未知原因失败。”

Chrome 实际上是 Chromium 53.0.2785.143

Linux 上的 Firefox 版本为 52.0.2

如何导入两个 .p12 密钥?它们可以单独使用,只要安装一个密钥,我就可以登录我的网站。如何安装两个?

答案1

对于最终使用 Google Chrome 执行此操作并获得结果的其他人Unknown error- 我正在使用后端 API 进行测试,因此我的域名是localhost:3000。Google Chrome 可以127.0.0.1很好地接受带有域证书的 pk12 证书,但会阻塞localhost:3000。Firefox 可以毫无问题地接受它们。

对我来说这似乎是 Chrome 的一个错误。

相关内容