[英]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.