CentOS 5.7 上的 Curl SSL 验证问题(绕过不起作用)

CentOS 5.7 上的 Curl SSL 验证问题(绕过不起作用)

我在 CentOS 5.7 服务器上尝试通过安装 SSL 证书GitHub 脚本

首先,当我执行时,我得到curl error 60,如果我设置insecure~/.curlrc那么我仍然得到curl error 35

我也尝试过从更新,ca-bundle.crt但是http://curl.haxx.se/ca/cacert.pem并没有解决任何问题,仍然是同样的错误。

我还查看了我们是否有 openSSL_0.9.8e 的更新,但没有更新(我发现 fedora 档案中有 1.0,但它受到 heartbleed 漏洞的影响)。

看来,如果不解决 curl https 验证,脚本就无法运行。

我无法升级或迁移到 Centos 6 或更高版本,因为自定义服务无法在更高版本上运行并且开发目前处于暂停状态。

答案1

CentOS 5 不支持 TLSv1.1 或 TLSv1.2

您的同伴可能禁用了协议版本 TLSv1。在 CentOS/RHEL 5(已于 2017 年 3 月 31 日停止使用)上,OpenSSL 和 curl 将无法使用 TLSv1.1 或 TLSv1.2,因此您升级 openssl 和 curl。然而,在 CentOS/RHEL 5 上无法以合理的方式完成此操作。

过时的操作系统

您使用的操作系统自 2014 年 4 月 CentOS 5.8 发布以来就已过时。如果您确实无法升级到 CentOS 6,则应交叉升级到具有扩展生命周期支持的 RHEL 5。但是,如果问题与 TLS 版本有关,这将无法解决您的问题。

答案2

一个不太好用的解决方法是使用虚拟机通过绑定挂载到 /etc/letsencrypt 来获取 letsencrypt 证书。然后每次需要更新证书时只需运行虚拟机,这样您就可以生成证书。

您可能可以使用其中有不同操作系统的 chroot jail,但这可能不起作用。

请记住,下面的设置实际上与您的“正常”操作系统没有区别,这样做可能会弄乱一切。使用风险自负,不提供任何保证。

mkdir /mnt/chroot
cd /mnt/chroot
rpm --rebuilddb --root=/mnt/chroot
wget https://mirror.centos.org/centos/6/os/x86_64/Packages/centos-release-6-9.el6.12.3.x86_64.rpm
rpm -i --root=/mnt/chroot --nodeps centos-release-6-9.el6.12.3.x86_64.rpm
yum --installroot=/mnt/chroot install -y rpm-build yum
chroot /mnt/chroot /bin/bash -l
yum install curl

相关内容