我遇到的问题:与我的 cURL 版本捆绑在一起的 CA 包已过时。
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
More details here: http://curl.haxx.se/docs/sslcerts.html
阅读文档对我没有帮助,因为我不明白我需要做什么或如何做。我正在运行 RedHat,需要更新 CA 包。我需要做什么才能在 RedHat 上更新我的 CA 包?
答案1
对于 RHEL 6 或更高版本,你应该使用更新 CA 信任,正如 lzap 在下面的回答中所描述的那样。
--- 对于旧版本的 Fedora、CentOS、Redhat:
Curl 正在使用存储在 /etc/pki/tls/certs/ca-bundle.crt 中的系统默认 CA 包。在更改它之前,请复制该文件,以便在需要时恢复系统默认设置。您可以简单地将新的 CA 证书附加到该文件,也可以替换整个包。
你还想知道在哪里获取证书吗?我(和其他人)推荐 curl.se/ca 。一行代码:
curl https://curl.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt
Fedora Core 2 的位置是/usr/share/ssl/certs/ca-bundle.crt
。
答案2
在 RHEL 6+ 系统上建议使用更新 CA 信任工具,现在已默认安装。
# cat /etc/pki/ca-trust/source/README
This directory /etc/pki/ca-trust/source/ contains CA certificates and
trust settings in the PEM file format. The trust settings found here will be
interpreted with a high priority - higher than the ones found in
/usr/share/pki/ca-trust-source/.
=============================================================================
QUICK HELP: To add a certificate in the simple PEM or DER file formats to the
list of CAs trusted on the system:
Copy it to the
/etc/pki/ca-trust/source/anchors/
subdirectory, and run the
update-ca-trust
command.
If your certificate is in the extended BEGIN TRUSTED file format,
then place it into the main source/ directory instead.
=============================================================================
Please refer to the update-ca-trust(8) manual page for additional information
因此,您只需将 crt 文件拖放到/etc/pki/ca-trust/source/anchors/
并运行该工具即可。工作完成。这样做很安全,您无需进行任何备份。完整的手册页可在此处找到:https://www.mankier.com/8/update-ca-trust
答案3
可能取决于 Redhat 的版本。您可以通过以下操作找到哪个包实际更新了文件:
rpm -qf /etc/pki/tls/certs/ca-bundle.crt
我的结果表明openssl-0.9.8e-12.el5需要更新。
如果您的发行版中没有更新的证书,则必须按照 Nada 的回答手动更新。
答案4
RHEL 提供 Mozilla CA 证书作为软件包的一部分(如果尚未安装,请ca-certificates
安装)。要告诉 cURL 使用这些证书,请使用如下参数。yum
--cacert
curl --cacert /etc/ssl/certs/ca-bundle.crt https://google.com/