当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 Linux 上添加受信任的根证书

作者:精品下载站 日期:2024-12-14 23:37:46 浏览:14 分类:玩电脑

在 Linux 上添加受信任的根证书


本文将介绍如何将新证书添加(安装)到 Linux 上的受信任根证书列表中。

假设您正在使用自签名 SSL/TLS 证书,但不想获得

SEC_ERROR_UNKNOWN_ISSUER

每当您的网站打开时,客户端浏览器都会出现错误。

[玩转系统] 在 Linux 上添加受信任的根证书

在此示例中,我们将从 Windows Server 上运行的 IIS 网站安装自签名证书。

要检查您的 Linux 主机是否无法验证(因此不信任)某个站点上的 SSL 证书,请运行以下命令:

$ curl -I https://a-d.local
curl: (60) SSL certificate problem: unable to get local issuer certificate. More details here: https://curl.haxx.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.

[玩转系统] 在 Linux 上添加受信任的根证书

在这种情况下,我们需要将该网站的根CA添加到Linux上的受信任证书列表中。

如何在Linux上安装信任库中的根证书?

如果您想更新 Linux 上的受信任证书存储,您首先需要的是证书的 PEM 文件,其中包含

*.CRT

扩大。 PEM 证书是一个以以下行开头的 base64 格式的文本文件

—-BEGIN CERTIFICATE—

- 并以

——END CERTIFICATE——

[玩转系统] 在 Linux 上添加受信任的根证书

如果您的证书文件以 DER 格式存储,则可以使用 openssl 命令将其转换为 PEM:

$ openssl x509 -in my_trusted_sub_ca.der -inform der -out my_trusted_sub_ca.cer

现在让我们看看如何将 CA 根证书添加到基于 DEB 的 Linux 发行版(Ubuntu、Debian、Mint、Kali Linux 等)的信任列表中。

首先,将证书文件复制到证书存储文件夹 (/usr/local/share/ca-certificates/):

$ sudo cp my_trusted_sub_ca.crt /usr/local/share/ca-certificates/
$ sudo cp my_trusted_root_ca.crt /usr/local/share/ca-certificates/

使用以下命令更新证书存储:

$ sudo update-ca-certificates -v

如果未找到该命令,您需要在 Ubuntu/Debian 主机上安装该软件包:

$ sudo apt-get install -y ca-certificates

[玩转系统] 在 Linux 上添加受信任的根证书

如果证书已成功添加,您将看到一条消息,指出证书已复制到 /etc/ssl/certs/:

Updating certificates in /etc/ssl/certs…
2 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d

以下是将新证书添加到 Linux 上的受信任存储中的另一种方法:

$ sudo dpkg-reconfigure ca-certificates

查看证书列表并选择要添加到受信任证书的证书。

[玩转系统] 在 Linux 上添加受信任的根证书

在 Linux 上,受信任证书的列表存储在文件 /etc/ssl/certs/ca-certificates.crt 中。上述两个命令都将更新此文件并添加有关新证书的信息。

使用以下命令确保您的证书已添加到信任列表中:

$ awk -v cmd='openssl x509 -noout -subject' ' /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt | grep -i YourCASubj

指定证书的通用名称部分而不是 YourCASubj 以按主题搜索商店。

[玩转系统] 在 Linux 上添加受信任的根证书

您可以使用以下命令查看您的操作系统是否信任该证书:

$ openssl verify my_trusted_sub_ca.crt

[玩转系统] 在 Linux 上添加受信任的根证书

如果您的 Linux 主机不信任该证书,您将收到错误消息:

error 20 at 0 depth lookup: unable to get local issuer certificate
error my_trusted_sub_ca.crt: verification failed

您可以使用curl来确保站点使用受信任的SSL证书:

$ curl -I https://a-d.local

一切都很好,证书是可信的{

HTTPOnly: secure

}。

[玩转系统] 在 Linux 上添加受信任的根证书

请注意,也可以手动将证书文件添加到信任列表中:

$ sudo mkdir /usr/share/ca-certificates/extra
$ sudo cp my.crt /usr/share/ca-certificates/extra/mycert1.crt
$ sudo vim /etc/ca-certificates.conf
exta/mycert1.crt
$ sudo update-ca-certificates

要从受信任列表中删除证书,只需删除您的 .crt 文件:

$ sudo rm /usr/local/share/ca-certificates/yourcert.crt

并更新 CA 存储:

$ sudo update-ca-certificates --fresh

要将证书添加到基于 RPM 的 Linux 发行版(CentOS、Oracle、RHEL、Rocky Linux、Fedora)上的信任列表,请使用以下过程:

  1. 安装 ca 证书包:

    # yum install ca-certificates
  2. 将证书文件复制到 /etc/pki/ca-trust/source/anchors/:

    # cp mycert.crt /etc/pki/ca-trust/source/anchors/
  3. 更新证书受信任存储:

    # update-ca-trust force-enable
    # update-ca-trust extract

这里有一篇关于管理 Windows 上受信任的根证书存储的类似文章。

将受信任的 CA 证书添加到 Chrome 和 Firefox

执行上述步骤后,所有系统工具都会信任使用此 CA 的网站。但是,这不会影响 Mozilla Firefox 或 Google Chrome 网络浏览器,因为它们仍会显示有关不受信任证书的警告消息。

问题是 Firefox、Chromium、Google Chrome、Vivaldi,甚至 Mozilla Thunderbird 电子邮件客户端都不使用 Linux 系统证书存储。这些程序的证书存储可以在用户目录的 cert8.db(对于 Mozilla)或 cert9.db 文件(对于 Chromium 和 Chrome)中找到。要更新这些证书存储,您可以使用 libnss3-tools 包中的 certutil 工具。

首先,安装包:

$ sudo apt install libnss3-tools

[玩转系统] 在 Linux 上添加受信任的根证书

现在运行以下 bash 脚本以通过 NSS 将证书添加到存储中:

#!/bin/bash
certfile="my_rusted_root_ca.crt"
certname="My Root CA1"
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 certDB in $(find ~/ -name "cert9.db")
do
certdir=$(dirname ${certDB});
certutil -A -n "${certname}" -t "TCu,Cu,Tu" -i ${certfile} -d sql:${certdir}
done

完成后,具有给定 CA 的网站将受到所有浏览器的信任。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯