无法通过 /usr/local/share/ca-certificates 将中级证书添加到 ca-certificates.crt

无法通过 /usr/local/share/ca-certificates 将中级证书添加到 ca-certificates.crt

在 Ubuntu 14.04.2 LTS 上,我尝试将中间证书添加到系统的受信任 CA 证书存储中。我在 /usr/local/share/ca-certificates 中安装了 .crt 文件,然后运行 ​​update-ca-certificates。从 /etc/ssl/certs 到 .crt 创建了符号链接。但是,证书未包含在 /etc/ssl/certs/ca-certificates.crt 中。

手册页对于 update-ca-certificates 说:

update-ca-certificates 是一个程序,它更新目录 /etc/ssl/certs 以保存 SSL 证书并生成 certificates.crt(一个连接的单文件证书列表)。

它读取文件 /etc/ca-certificates.conf。每行都给出了 /usr/share/ca-certificates 下应受信任的 CA 证书的路径名。以“#”开头的行是注释行,因此将被忽略。以“!”开头的行将被取消选择,从而导致相关 CA 证书被停用。

此外,/usr/local/share/ca- 证书下的所有证书也被包含在隐式信任中。

我能够通过编辑 /etc/ca-certificates.conf 文件并提供证书路径,然后运行 ​​update-ca-certificates 将证书放入 ca-certificates.crt 中。所以我的问题是:手册页是否错误,/usr/local/share/ca-certificates 方法是否不起作用?还是我错过了一个技巧?

谢谢!

答案1

/usr/local/share/ca-certificates对我有用。您是否安装了后缀为 的证书.crt?这是 update-ca-certificates 脚本中的部分,它添加了来自 的证书LOCALCERTSDIR

if [ -d "$LOCALCERTSDIR" ]
then
  find -L "$LOCALCERTSDIR" -type f -name '*.crt' | sort | while read crt
  do
    add "$crt"
  done
fi

您可能需要检查是否LOCALCERTSDIR已设置为/usr/local/share/ca-certificates目录。运行 update-ca-certificates 后,我获得了一个来自的链接/etc/ssl/certs/xyz.pem$LOCALCERTSDIR/xyz.crt其内容已添加到/etc/ssl/certs/ca-certificates.crt。希望这有帮助!

相关内容