系统存储中的 SSL 证书不受 Chrome 信任

LLl*_*nYP 2 google-chrome ssl-certificate

我有一个在我们公司运行的 gitlab 服务器,我已经获得了由我们公司的 CA 签署的证书。由于我可以从我们域中的机器访问该站点而不会出现 SSL 错误,我假设服务器配置正确。

使用笔记本电脑时,我当然没有公司的 CA 证书。例如,openssl s_client -connect my.git.server:443将返回“错误 19,链中的自签名证书”:

0 s:/C=REDACTED
   i:/DC=REDACTED/DC=REDACTED/CN=IssuingCA
 1 s:/DC=REDACTED/DC=REDACTED/CN=IssuingCA
   i:/CN=RootCA
 2 s:/CN=RootCA
   i:/CN=RootCA
Run Code Online (Sandbox Code Playgroud)

所以我访问了服务器并导出了根 CA 证书。然后我将它添加到我的系统存储中:

sudo su
cp RootCA /usr/local/share/ca-certificates/extra/RootCA.crt
update-ca-certificates
Run Code Online (Sandbox Code Playgroud)

现在 openssl 接受它就好了(返回代码 0,好的)。但是,谷歌浏览器仍然抱怨:

该服务器无法证明它是 my.git.server;它的安全证书不受您计算机操作系统的信任。

如果不是这条消息,我会认为 Chrome 有自己的证书存储并且不关心操作系统。但似乎很清楚,该证书由受信任的操作系统和Chrome是指它。

我正在运行 Ubuntu 18.04。这只是 Chrome 的一个怪癖,它不尊重系统证书,还是我遗漏了什么?

小智 7

在 Ubuntu 中,Chrome 使用自己的证书存储。您可以在 Chrome 中导入您的 RootCA.crt

设置 -> 隐私和安全 -> 管理安全密钥 -> 管理证书 -> 权限

请注意,更新 ubuntu 系统证书存储update-ca-certificates对 Chrome 没有影响。