将自签名证书添加到 Chromium for Linux 上的受信任 CA

use*_*544 2 google-chrome ubuntu certificate-authority

我无法在 Chromium 中安装自签名 CA 证书并让它接受 TLS 连接。

Your connection is not private
Attackers might be trying to steal your information from XXX (for example, passwords, messages, or credit cards). Learn more
NET::ERR_CERT_INVALID
Run Code Online (Sandbox Code Playgroud)

自签名证书和 Chromium for Linux 是否存在我不知道的问题?


细节:

我在 Ubuntu 上使用 Chromium(版本 95.0.4638.69(官方版本)在 Ubuntu 上构建,在 Ubuntu 18.04(64 位)上运行)。

有一个网站使用自己的 CA。当我访问它时,我收到有关 TLS 证书不受信任的常见消息。

我已经处理过这种情况很多次了,所以我将证书导出为Base64-enoded ASCII, single certificate并将其保存到磁盘。然后我转到 ChromiumSettings - Manage HTTPS/SSL certificates并将其导入Authorities,最后单击Trust this certificate for....

我重新启动 Chromium,访问网站,但仍然收到错误。

我在 Windows 版 Chrome(使用 Windows 密钥库)中执行了完全相同的步骤,一切顺利。我还在 Linux 中尝试了 Windows 导出的服务器证书,以防万一,但我得到了相同的错误,因为它们是相等的。

我检查过这个网站和其他网站,看看 Chromium 是否有什么奇怪的地方,但我找不到任何有用的东西。似乎有人说某些 TLS 功能仅在 Linux 上失败,因此似乎由于某种原因该功能在软件中不起作用。

小智 5

我在带有 Debian 的 Pi 上使用 Chromium,非常相似。我将本地控制的 CA 服务器添加到 Linux 操作系统(/usr/local/share/ca-certificates/ 并运行 update-ca-certificates),这对于像curl这样的东西非常有用。但 Chromium 给了我与上面相同的错误。

我使用 certutil 将相同的证书添加到 Chromium(重新启动 Chromium),它现在可以工作:

https://chromium.googlesource.com/chromium/src.git/+/refs/heads/main/docs/linux/cert_management.md 如何向 Ubuntu 添加证书颁发机构 (CA)?

我的命令行(作为 chromium 用户,而不是 root):

certutil -d sql:$HOME/.pki/nssdb -A -t ${TRUSTARGS} -n "Taz Root" -i taz_root_ca.crt
Run Code Online (Sandbox Code Playgroud)

其中taz_root_ca.crt是由step-ca(我正在使用的本地CA)生成的证书。奇怪的是,“昵称”确实与我输入的内容相符,而是:

$  certutil -d sql:$HOME/.pki/nssdb -L

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

Cherry CA Root CA - Cherry CA                                CT,C,C
Run Code Online (Sandbox Code Playgroud)