Dim*_*zyr 22 ssl visual-studio gitlab
在 Visual Studio 中,我尝试从 GitLab 上的存储库中提取一些更改,但它给了我一个错误:
Git 因致命错误而失败。
无法访问https://gitlab...git/:SSL 证书问题:证书已过期*
如何生成新证书并将其添加到 VS 中?我没有任何使用 GitLab 的经验。
Xab*_*Ion 44
您可以在命令行中运行一个快速修复:
\ngit config --global http.sslVerify "false"\nRun Code Online (Sandbox Code Playgroud)\n在下面的文章中找到了解决方案。
\n更新:
\n虽然原始解决方案提供了快速解决方法,但由于评论中提出的问题,有必要强调安全隐患和负责任的使用。
\n警告:以下快速修复可能会因禁用 SSL 验证而使您面临安全风险:
\ngit config --global http.sslVerify "false" \nRun Code Online (Sandbox Code Playgroud)\n请极其谨慎地使用此解决方案,并严格将其用于故障排除目的。
\n更安全的选择:
\n对于 Windows
\ndownload and install from the official website \nRun Code Online (Sandbox Code Playgroud)\n对于 macOS(使用 Homebrew):
\nbrew upgrade git\nRun Code Online (Sandbox Code Playgroud)\n对于基于 Debian 的 Linux 发行版:
\nsudo apt-get update && sudo apt-get upgrade git \nRun Code Online (Sandbox Code Playgroud)\n2. 验证证书:
\n确定证书过期的原因并与存储库管理员或 IT 部门联系以寻求解决方案,因为管理和续订证书通常是他们的责任。
\n负责任地使用快速修复:
\n如果您发现自己必须使用快速修复方法:
\n确保仅在安全且受控的环境中应用它。切勿在生产环境中。
\n通过运行尽快重新启用 SSL 验证
\ngit config --global http.sslVerify "true"\nRun Code Online (Sandbox Code Playgroud)\n补充笔记:
\n正如 Eric K 所评论的,拥有有效的 SSL 证书并不等于您提取的代码的安全性。始终确保代码质量和完整性。
\n如果不确定,请咨询您的 IT 部门或网络安全专家,了解过期的证书和任何临时解决方法。
\n结论:
\n安全应该始终是最重要的。采用的解决方案不仅能解决眼前的问题,还能维护开发环境和代码的完整性和安全性。
\ndel*_*711 18
Visual Studio 中的 Git 错误:
PM> git pull
git: fatal: 无法访问 '**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 更新到最新版本:
或者,从以下位置安装适用于 Windows 的最新版本的 Git: https: //git-scm.com/download/win
这个解决方案对我认识的几个人都有效。但是,如果您仍然遇到问题,另请参阅: Git for windows:SSL 证书问题:证书已过期
另外,这里有一个与该主题相关的好帖子:
https://github.com/git-for-windows/git/issues/3450
Visual Studio 应该使用适用于 Windows 的 Git。
\n如果您可以导出私有 GitLab 服务器的证书链,则可以将其添加到ca-bundle.crtgit 文件夹中的文件中,格式为C:\\path\\to\\Git\\\\usr\\ssl\\certs.
2021 年 9 月更新:Let's Encrypt 交叉签名的 DST Root CA X3 已于几天前过期:请参阅此处了解更多信息。
\n2022 年 3 月:正如Mohammed S. Al Sahaf在Twitter上指出的那样,得票最高的答案( git config --global http.sslVerify "false") 很少(如果有的话)是一个好的选择。
\n\nGit(技术上是 OpenSSL)感到困惑,因为 Let\'s Encrypt 旧根已过期(请参阅:“ Let\'s Encrypt\'s Root 证书即将过期! ”来自Scott Helme,@securityheaders/@reporturi 创始人,Pluralsight 作者)。
\n这不是禁用验证的好借口!
\n
在 Windows 上,只有 OpenSSL <= 1.0.2 或 Windows < XP SP3 的客户端才会信任 IdenTrust DST Root CA X3 证书。
\n另请参阅Tom\xc3\xa1\xc5\xa1 Mr\xc3\xa1z的“旧 Let\xe2\x80\x99s 加密根证书过期和 OpenSSL 1.0.2 ” ( )。t8m
对于与Let\'s encrypt 集成的 GitLab 私有实例,Let\'s Encrypt 证书的过期情况可能很重要。
\n无论如何,请勿删除http.sslVerify.
\n将正确的证书添加到您的信任存储中(仔细检查其有效性/来源后)。
小智 5
在客户端更新git版本后,一切正常。
第一步:检查git版本
> git version
Run Code Online (Sandbox Code Playgroud)
第 2 步:更新客户端系统上的 git
> git update
> git version
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72925 次 |
| 最近记录: |