SSL CA证书(路径?访问权限?)

17

我正在使用CentOS 6.6 64位操作系统,使用curl时出现了问题。服务器主要用于托管多个基于Apache和MySQL的WordPress博客。

以下yum命令是导致错误的最简单方式,输出如下:

yum list "ca-certi*"

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Could not get metalink https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=x86_64 error was
14: PYCURL ERROR 77 - "Problem with the SSL CA cert (path? access rights?)"
 * base: cosmos.cites.illinois.edu
 * epel: mirror.cogentco.com
 * extras: mirrors.rit.edu
 * updates: mirrors.rit.edu
Installed Packages
ca-certificates.noarch                 2014.1.98-65.1.el6                  @base

这是根据在 Google 上搜索到的尝试并失败的解决方案:

1)我尝试了重启 VPS,但没有效果。

2)执行 curl http://curl.haxx.se/ca/cacert.pem -o /etc/pki/tls/certs/ca-bundle.crt,但没有成功。

3)这个解决方案根本行不通,因为它依赖于 yum 来解决 yum 自身也遇到的 SSL 问题:http://syslint.com/syslint/curl-77-problem-with-the-ssl-ca-cert-path-access-rights-solved/

我能否使用 wget 运行这些 yum 步骤进行安装?你认为这样有用吗?

# yum reinstall ca-certificates

# yum reinstall openssl

我认为Virtualmin在过去24小时内安装了一些更新,是否有更新日志记录?

请问有人可以帮助解决“SSL CA证书问题(路径?访问权限?)”吗?

TIA


你试过执行 重新安装 命令吗?如果你已经在本地有了这个软件包,yum 就不需要联网来完成这个操作。但是如果你没有这个软件包的话,那么这个命令就无法工作,除非这个软件包需要从 EPEL 库中获取(我认为不需要)。 - Etan Reisner
那很有趣,但似乎不相关。另外,我不确定其他张贴者认为重新安装openssl会对这个问题的哪一部分有帮助。我认为这不应该对证书问题产生任何影响。 - Etan Reisner
有没有办法确认curl是否在文件系统的正确位置查找证书? - BradMcA
“curl -v” 似乎指示它正在使用哪些文件/目录。但是“yum”可能会使用,也可能不会使用。 “yum” 配置也可以指定位置。 “rpm -V ca-certificates” 的输出是什么? - Etan Reisner
1
这个问题可能不适合在此讨论,因为它与编程或开发无关。也许在超级用户网络管理员堆栈交换更适合提问。 - jww
显示剩余5条评论
3个回答

11

针对CentOS 6/7的更简单解决方案,删除CA并重新安装证书。

rm -f /etc/ssl/certs/ca-bundle.crt && yum reinstall -y ca-certificates

如果您只重新安装证书,则问题在于它不会替换ca-bundle。它会保留新的带有.rpmnew名称的文件。


我没有意识到这个问题是因为我删除了ca-bundle.crt文件(因为我们使用外部证书,我没有意识到它是必需的)。我按照您在这里建议的方法操作 - 没有rm -f步骤 - 问题得到了解决。谢谢! - Pancho

5

1
同样适用于CentOS 7,只需将URL更改为centos/7/os/x86_64/Packages/ca-certificates-2017.2.14-71.el7.noarch.rpm以反映新版本。 - Odecif

1

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