扁平化風格 網站企業(yè)查詢app
Git 客戶端將會驗證服務器端提供的SSL證書是否由受信任的證書頒發(fā)機構(Certification Authority,CA)簽發(fā)。如果Git客戶端無法找到或驗證本地簽發(fā)者證書,就會出現 unable to get local issuer certificate
或類似的錯誤。
該問題一般發(fā)生在 Windows 操作系統(tǒng)中。
我出現這個問題,是因為我的證書是自己簽發(fā)的,但是我已經將根證書安裝導入到系統(tǒng)的受信認根證書中。
方法一
忽略 SSL證書驗證(不推薦):
git config --global http.sslVerify false
這是一種不建議的方法,但在某些情況下可以解決問題。
注意,這會導致Git不再驗證SSL證書的真實性,可能會面臨安全風險,請在仔細評估后再采用此方法。
方法二
配置 Git 使用 SChannel (推薦):
給操作系統(tǒng)安裝過根證書后,還會出現這個錯誤,大概率可能是因為 git 默認使用的 Linux 加密后端,我們可以設置 git 使用Windows 網絡層作為加密后端。。
從
Git for Windows 2.14
開始,可以配置 Git 使用SChannel
,SChannel
它是微軟 Windows 操作系統(tǒng)中內置的安全支持提供程序 (SSP),用于實現安全通信協議,如 SSL(Secure Sockets Layer)和 TLS(Transport Layer Security)。這意味著它將使用Windows 證書存儲機制,您不需要顯式配置 curl CA 存儲機制:https://msdn.microsoft.com/en-us/library/windows/desktop/aa380123(v=vs.85).aspx
配置命令:
git config --global http.sslbackend schannel
方法三
還有一個使用命令 git config --global http.sslCAInfo
設置根證書的方法,不推薦。如果上面2種方法都無法解決你問題了,可以嘗試。
(END)