[英]Unable to access gitlab: SSL certificate has expired
在 Visual Studio 中,我試圖從 GitLab 的存儲庫中提取一些更改,但它給了我一個錯誤:
Git 因致命錯誤而失敗。
無法訪問https://gitlab...git/
:SSL 證書問題:證書已過期*
如何生成新證書並將其添加到 VS? 我對 GitLab 沒有任何經驗。
Visual Studio 中的 Git 錯誤:
下午> git拉
git:致命:無法訪問'**path**/**myrepo**.git':SSL證書問題:證書已過期
在我的情況下的原因:
2021 年 9 月 30 日,根證書過期。
Let's Encrypt - “IdentTrust DST Root CA X3”證書
https://scotthelme.co.uk/lets-encrypt-old-root-expiration/
解決方案:
將適用於 Windows 的 Git 更新到最新版本:
或者,從以下位置安裝最新版本的 Git for Windows: https ://git-scm.com/download/win
這個解決方案對我認識的幾個人都有效。 但是,如果您仍然遇到問題,請參閱: Windows 版 Git:SSL 證書問題:證書已過期
此外,這里有一個與此主題相關的好帖子:
https://github.com/git-for-windows/git/issues/3450
Visual Studio 應該使用Git for Windows 。
如果您可以導出私有 GitLab 服務器的證書鏈,則可以將其添加到 git 文件夾中的ca-bundle.crt
文件中,位於C:\path\to\Git\\usr\ssl\certs
中。
2021 年 9 月更新:讓我們加密交叉簽名的 DST 根 CA X3 幾天前過期:請參閱此處了解更多信息。
2022 年 3 月:正如Mohammed S. Al Sahaf在Twitter 上指出的那樣,最受好評的答案( git config --global http.sslVerify "false"
) 很少,如果有的話,是一個好的選擇。
Git(技術上是 OpenSSL)很困惑,因為 Let's Encrypt 舊根已過期(請參閱:“讓我們加密的根證書即將過期! ”來自Scott Helme ,創立了@securityheaders/@reporturi,Pluralsight 作者)。
這不是禁用驗證的好借口!
在 Windows 上,只有 OpenSSL <= 1.0.2 或 Windows < XP SP3 的客戶端將只信任 IdenTrust DST Root CA X3 證書。
另請參見Tomáš Mráz ( t8m
)中的“ Old Let's Encrypt Root Certificate Expiration and OpenSSL 1.0.2 ”。
對於與 Let's encrypt 集成的 GitLab 私有實例,Let's Encrypt 證書的到期可能很重要。
在任何情況下,都不要刪除http.sslVerify
。
將正確的證書添加到您的信任庫(在仔細檢查其有效性/來源之后)。
在客戶端更新 git 版本后,它工作正常。
第 1 步:檢查 git 的版本
> git version
第 2 步:在客戶端系統上更新 git
> git update
> git version
我遇到了這個問題,我的解決方案是更新日期和時間。
這對我很有幫助。 打開終端:
git config http.sslVerify false
我被這個問題困擾了很長一段時間,后來意識到我已經設置了 wifi 代理。 快速代理設置檢查可能會有所幫助:)
不要使用git config --global http.sslVerify "false"
@VonC雖然從技術上講ssh與ssl證書無關,但使用ssh克隆存儲庫完全繞過了http協議,因此也解決了這個問題。 ——詹姆斯·賴特 2021 年 10 月 4 日 17:49
謝謝,這對我有用。
我最初通過https://gitlab.com/repo.git克隆了我的存儲庫,最終導致錯誤:致命:無法訪問 'https://gitlab.com/repo.git/':SSL 證書問題:證書有已到期
要修復,只需使用 SSH 再次克隆項目。
$ git clone git@gitlab.com:caring/repo.git
避免使用
$ git clone https://gitlab.com/repo.git
當我嘗試從 gitlab 查看最新更新時遇到問題,錯誤消息:SSL 證書問題:證書鏈中的自簽名證書。 這意味着您的 gitlb 證書已過期,您需要將最新的證書放入當前證書的末尾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.