让 Chrome 信任 Linux 系统证书存储或通过策略选择证书

Min*_*axe 5 linux google-chrome certificate chromium ssl-certificate

我需要在许多托管 Linux 桌面上信任自签名证书。我已将它们导入操作系统的信任存储中,curl、wget 等信任它们。

然而,像 Firefox 和 Chrome (Chromium) 这样的浏览器使用它们自己的信任存储。Firefox 可以选择使用系统信任存储,但该选项在 Linux 上被破坏,并在其Bugtracker中标记为“Wontfix” 。不过,仍然可以选择使用其企业策略将证书安装到 Firefox 信任存储。

我一直在为Chromium Policies寻找同样的东西,但我还没有找到任何证据表明存在这样的事情。

所以我的问题与此基本相同:如何让Chrome信任Windows系统根CA证书?但在Linux上。

如果无法选择使用操作系统信任存储,则导入选定的证书将是一个很好的解决方法。

har*_*ymc 2

在 Ubuntu 中,Chrome 使用自己的证书存储,因此您需要在 Chrome 存储中导入操作系统证书。

使用 GUI,可以使用“设置”中的“管理证书”来完成此操作。

如何在 Linux 和 Windows 上导入 CA 根证书一文 包含以下脚本,用于将操作系统证书复制到浏览器,您可以根据需要进行修改(或删除不需要的部分)。

该脚本需要 certutil。如果未安装,请使用 sudo apt install libnss3-tools.

以下是在 Firefox、Chrome、Chromium、Vivaldy 等浏览器中安装根 CA 的脚本。请注意,未来对操作系统存储的更新不会自动复制。

#!/bin/bash

### Script installs root.cert.pem to certificate trust store of applications using NSS
### (e.g. Firefox, Thunderbird, Chromium)
### Mozilla uses cert8, Chromium and Chrome use cert9

###
### Requirement: apt install libnss3-tools
###

###
### CA file to install (CUSTOMIZE!)
###

certfile="root.cert.pem"
certname="My Root CA"

###
### For cert8 (legacy - DBM)
###

for certDB in $(find ~/ -name "cert8.db")
do
    certdir=$(dirname ${certDB});
    certutil -A -n "${certname}" -t "TCu,Cu,Tu" -i ${certfile} -d dbm:${certdir}
done

###
### For cert9 (SQL)
###

for certDB in $(find ~/ -name "cert9.db")
do
    certdir=$(dirname ${certDB});
    certutil -A -n "${certname}" -t "TCu,Cu,Tu" -i ${certfile} -d sql:${certdir}
done
Run Code Online (Sandbox Code Playgroud)

  • 我希望通过策略而不是通过 gui 或 certutil 来管理它 - 这些选项需要用户干预才能单击 gui 或运行命令。我想使用现有的木偶代理来部署该配置。 (2认同)