[玩转系统] 在 Linux 上添加受信任的根证书
作者:精品下载站 日期:2024-12-14 23:37:46 浏览:14 分类:玩电脑
在 Linux 上添加受信任的根证书
本文将介绍如何将新证书添加(安装)到 Linux 上的受信任根证书列表中。
假设您正在使用自签名 SSL/TLS 证书,但不想获得
SEC_ERROR_UNKNOWN_ISSUER
每当您的网站打开时,客户端浏览器都会出现错误。
在此示例中,我们将从 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.
在这种情况下,我们需要将该网站的根CA添加到Linux上的受信任证书列表中。
如何在Linux上安装信任库中的根证书?
如果您想更新 Linux 上的受信任证书存储,您首先需要的是证书的 PEM 文件,其中包含
*.CRT
扩大。 PEM 证书是一个以以下行开头的 base64 格式的文本文件
—-BEGIN CERTIFICATE—
- 并以
——END CERTIFICATE——
。
如果您的证书文件以 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
如果证书已成功添加,您将看到一条消息,指出证书已复制到 /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 上,受信任证书的列表存储在文件 /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 以按主题搜索商店。
您可以使用以下命令查看您的操作系统是否信任该证书:
$ openssl verify my_trusted_sub_ca.crt
如果您的 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
}。
请注意,也可以手动将证书文件添加到信任列表中:
$ 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)上的信任列表,请使用以下过程:
安装 ca 证书包:
# yum install ca-certificates
将证书文件复制到 /etc/pki/ca-trust/source/anchors/:
# cp mycert.crt /etc/pki/ca-trust/source/anchors/
更新证书受信任存储:
# 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
现在运行以下 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 的网站将受到所有浏览器的信任。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[软件合集] 25年5月31日 精选软件66个
[电影] 黄沙漫天(2025) 4K.EDRMAX.杜比全景声 / 4K杜比视界/杜比全景声
[风口福利] 短视频红利新风口!炬焰创作者平台重磅激励来袭
[韩剧] 宝物岛/宝藏岛/金银岛(2025)【全16集】【朴炯植/悬疑】
[电影] 愤怒的牦牛 (2025) 国语中字 4k
[短剧合集] 2025年05月30日 精选+付费短剧推荐56部
[软件合集] 25年5月30日 精选软件26个
[软件合集] 25年5月29日 精选软件18个
[短剧合集] 2025年05月28日 精选+付费短剧推荐38部
[软件合集] 25年5月28日 精选软件37个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[美图] 2W美女个美女小姐姐,饱眼福
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag