Chrome 中的 SSL 证书“缺少私钥”

Chrome 中的 SSL 证书“缺少私钥”

我正在尝试在 Chrome 中安装基于这些来自 Google 的说明。该证书用于 VPN,使用 RSA 加密,符合该文档中的一个限定词(仅限 RSA)。它由 生成,easy-rsa用于 OpenVPN 网络,使用第三方软件(“OpenVPN connect”)一年多来一直运行良好,但最近这个神秘的开始导致 DNS 问题1所以我现在尝试使用 Chrome 内置功能。

然而,当我尝试chrome://settings/certificates导入客户端证书(CA 证书已安装在“Authorities”下)时,系统提示“此客户端证书的私钥丢失或无效”。密钥位于同一目录中具有相同基本名称和扩展名的单独文件中.key,但不在 Chrome 文件选择器中。

我尝试将密钥(它和证书都在 PEM 中)附​​加到证书中,但这没有什么区别。


  1. 注意 VPN不是用于隧道传输互联网,即我的默认路由仍然是通过本地 wifi 路由器。VPN 路由仅适用于该私有子网上的其他节点。服务器和客户端配置都不会推送与 DNS 相关的任何设置。但这些都与我的问题不太相关。

答案1

与大多数浏览器一样,Chrome 希望将私钥与公共证书一起安全地存储在 PKCS#12 文件中。

您需要将现有的两个文件转换为一个 PKCS#12 文件(有时称为 PFX 文件)。

您可以使用 OpenSSL 来转换:

openssl pkcs12 -export -out myCert.p12 -inkey myCert.key -in myCert.crt -certfile caCert.crt

注意:您可能将证书保存在以.pem或结尾的文件中.cer- 只需更改上述命令即可使用适当的文件名。

您现在应该可以将其导入到您的浏览器。

相关内容