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.crthttp://curl.haxx.se/ca/cacert.pem但沒有解決任何問題,仍然是同樣的錯誤。

我還查看了 openSSL_0.9.8e 是否有更新,但沒有更新(我發現 fedora 檔案中有 1.0,但它受到 heartbleed bug 的影響)。

看起來如果不解決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 監獄,但這可能不起作用。

請記住,下面的設定並沒有真正與您的「正常」作業系統分開,這樣做可能會弄亂事情。使用風險自負,不提供保固。

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

相關內容