如何在CentOS 7中添加证书颁发机构文件

92

我正在尝试将证书颁发机构(CA)文件名 - ca.crt 添加到 /etc/ssl/certs,为此我按照该文章中的步骤进行操作。

我将我的ca.crt文件复制到/etc/pki/ca-trust/source/anchors/,并运行以下命令:

update-ca-trust extract

之后我检查了/etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt文件,但没有找到我的CA。

我无法确定问题可能是什么。

我做错了什么以及如何修复它?

6个回答

183

将您的证书复制到内部

/etc/pki/ca-trust/source/anchors/

然后运行以下命令

update-ca-trust

18
update-ca-trust 没有任何输出,所以我唯一能够说服自己它确实在做事情的方法是,在运行该命令之前保留原始的 /etc/pki/tls/certs/ca-bundle.crt 副本,并将其与运行 update-ca-trust 后生成的新副本进行比较。 - mes5k
1
我在安装前/后使用了 curl -li https://domain.name 进行验证。在安装之前,我遇到了 curl: (60) 错误。 - Hebe

21

查找 *.pem 文件并将其放置在 anchors 子目录中,或者直接将 *.pem 文件链接到那里。

yum install -y ca-certificates
update-ca-trust force-enable
sudo ln -s /etc/ssl/your-cert.pem /etc/pki/ca-trust/source/anchors/your-cert.pem
update-ca-trust

2
“update-ca-trust” 似乎没有接受任何参数。至少在 CentOS 7.9(ca-certificates-2021.2.50-72.el7_9.noarch)中提供的参数不起作用。不确定“update-ca-trust force-enable” 在这里的作用是什么。 - amphetamachine

9

您的 CA 文件必须是二进制的 X.509 格式,而不是 Base64 编码;为了成功将其添加到服务器的受信任 CA 列表中,它需要是常规的 DER 或 PEM 格式。

请将您的 CA 文件放入 /usr/share/pki/ca-trust-source/anchors/ 目录中,然后运行下面的命令(根据您的设置,可能需要 sudo 权限):

# CentOS 7, Red Hat 7, Oracle Linux 7
update-ca-trust

请注意,/usr/share/pki/ca-trust-source/anchors/目录中提供的所有信任设置的优先级都比放置在/etc/pki/ca-trust/source/anchors/目录下的优先级低,后者可能是扩展的BEGIN TRUSTED文件格式。
对于Ubuntu和Debian系统,/usr/local/share/ca-certificates/是首选目录。
因此,您需要将CA文件放置在/usr/local/share/ca-certificates/目录中,然后使用以下命令行更新受信任的CA列表(如果需要sudo权限,请使用sudo);
update-ca-certificates

4

快速帮助 1:将PEM或DER格式的证书添加到系统信任的CA列表中:

  • 将其作为新文件添加到目录/etc/pki/ca-trust/source/anchors/

  • 运行update-ca-trust extract命令

快速帮助 2:如果您的证书采用扩展的BEGIN TRUSTED文件格式(可能包含不信任/黑名单信任标志,或用于TLS以外的用途的信任标志),则:

  • 将其作为新文件添加到目录/etc/pki/ca-trust/source/

  • 运行update-ca-trust extract命令

更多详细信息请参见man update-ca-trust


1
你的解决方案是复制/粘贴文件/etc/pki/ca-trust/source/README。 - Johan Boulé

3

也许有点晚了,但在我的情况下,是RHEL 6.8:

将托管机构颁发的certificate.crt复制到:

/etc/pki/ca-trust/source/anchors/

然后:

update-ca-trust force-enable (ignore not found warnings)
update-ca-trust extract

希望能对您有所帮助。

2

完整的指令如下:

  1. 从PFX文件中提取私钥

openssl pkcs12 -in myfile.pfx -nocerts -out private-key.pem -nodes

  1. 从PFX文件中提取证书

openssl pkcs12 -in myfile.pfx -nokeys -out certificate.pem

  1. 安装证书

yum install -y ca-certificates,

cp your-cert.pem /etc/pki/ca-trust/source/anchors/your-cert.pem ,

update-ca-trust ,

update-ca-trust force-enable

希望对您有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接