嘗試在 OS X 10.14.6 上克隆存盤庫時,它以下列方式失敗
$ /usr/bin/git --version
git version 2.21.1 (Apple Git-122.3)
$ /usr/bin/openssl version
LibreSSL 2.6.5
$ git clone https://host/repo.git
Cloning into 'repo'...
fatal: unable to access 'https://host/repo.git/': SSL certificate problem: certificate has expired
它可能會在禁用 ssl 驗證的情況下作業,但這不是一個選項。
相同的命令在之前與服務器沒有聯系的另一臺機器上成功。
查看 ssllabs.com 顯示服務器發送了兩個證書鏈,其中一個具有過期的“DST Root CA X3”證書,另一個是有效的。ssllabs.com 還宣告此根證書是“在信任存盤中”,而不是由服務器發送。
是否可以為 git 選擇一個特定的(在這種情況下是未過期的)證書鏈?
我懷疑無法克隆存盤庫的計算機以某種方式記住了過期的證書。如果這是真的,有沒有辦法忘記/拒絕過期的證書鏈?
uj5u.com熱心網友回復:
如果您使用的是 OpenSSL < 1.1.0,聽起來您遇到了與 android 兼容的證書(默認情況下由 LetsEncrypt 等 CA 頒發)的已知問題(參見最后一段)。通常,執行定期作業系統軟體更新將更新 OpenSSL 并修復此問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/443381.html
