![无法将两个 p12/pfx 客户端证书导入 Chrome 或 Firefox](https://linux22.com/image/1527929/%E6%97%A0%E6%B3%95%E5%B0%86%E4%B8%A4%E4%B8%AA%20p12%2Fpfx%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%AF%81%E4%B9%A6%E5%AF%BC%E5%85%A5%20Chrome%20%E6%88%96%20Firefox.png)
我有一个网站,想在其中使用客户端身份验证证书。这只是我和少数家人/朋友的个人网站,因此我创建了一个 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 的一个错误。