在Visual Studio中,我试图从GitLab上的存储库中提取一些更改,但它给了我一个错误:Git失败,出现致命错误。无法访问https://gitlab...git/:SSL证书问题:证书已过期 *如何生成新证书并将其添加到VS?我没有使用GitLab的经验。
https://gitlab...git/
ymdaylpp1#
有一个快速修复方法可以在命令行中运行:
git config --global http.sslVerify "false"
在the following article中找到解决方案。更新日期:虽然最初的解决方案提供了一个快速的解决方案,但由于评论中提出的问题,必须强调安全影响和负责任的使用。警告:以下快速修复程序可能会通过禁用SSL验证使您面临安全风险:
使用此解决方案时要格外小心,并严格用于故障排除目的。
更安全的选择:
1.更新Git:请确保您使用的是最新版本的Git,它可能改进了SSL和证书问题的处理。
download and install from the official website
brew upgrade git
sudo apt-get update && sudo apt-get upgrade git
2.验证证书:
确定证书过期的原因,并与存储库管理员或IT部门联系以解决问题,因为管理和续订证书通常是他们的职责。
负责任地使用快速修复:
如果你发现自己不得不使用快速修复:
确保仅在安全和受控的环境中应用。从来没有在生产环境中。
通过运行以下命令尽快重新启用SSL验证
git config --global http.sslVerify "true"
附加说明:
正如Eric K所评论的那样,拥有有效的SSL证书并不等同于您提取的代码的安全性。始终确保代码质量和完整性。
如果不确定,请咨询您的IT部门或网络安全Maven,了解过期证书和任何临时解决方案。
结论:
安全永远是最重要的。采用的解决方案不仅要解决眼前的问题,还要维护开发环境和代码的完整性和安全性。
5uzkadbs2#
Visual Studio中的Git错误:
PM> git pullgit: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/
解决方案:
更新Git for Windows到最新版本:
或者,从以下位置安装最新版本的Git for Windows:https://git-scm.com/download/win这个方法对我认识的几个人都有效。但是,如果您仍然遇到问题,请参阅:Git for windows: SSL certificate problem: certificate has expired另外,这里有一个关于这个主题的好帖子:https://github.com/git-for-windows/git/issues/3450
z4bn682m3#
Visual Studio应该使用Git for Windows。如果您可以导出私有GitLab服务器的证书链,则可以将其添加到git文件夹中的C:\path\to\Git\\usr\ssl\certs文件中。9月更新2021:Let's Encrypt交叉签名的DST Root CA X3几天前过期:参见here for more。2022年3月:正如Mohammed S. Al Sahaf在Twitter上指出的那样,top upvoted answer(git config --global http.sslVerify "false")很少是一个好的选择。Git(技术上的OpenSSL)是混乱的,因为Let's Encrypt旧根过期(请参阅:来自**Scott Helme**的“Let's Encrypt's Root Certificate is expiring!“,创建于@securityheaders/@ softuri,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“。对于GitLab的私有示例integrated with Let's encrypt,Let's Encrypt证书的过期可能很重要。在任何情况下,都不要删除http.sslVerify。将正确的证书添加到您的信任存储中(在仔细检查其有效性/来源后)。
C:\path\to\Git\\usr\ssl\certs
t8m
http.sslVerify
aiqt4smr4#
在客户端更新git版本后,它工作正常。步骤1:检查git的版本
> git version
步骤2:在客户端系统上更新git
> git update > git version
drnojrws5#
我遇到了这个问题,我的解决方案是更新日期和时间。
ffscu2ro6#
这对我很有帮助。开放终端:
git config http.sslVerify false
qpgpyjmq7#
当我试图从gitlab查看最新更新时,我遇到了这个问题,错误消息:SSL证书问题:证书链中的自签名证书。这意味着你的gitlb证书已经过期,你需要把最新的证书放在当前证书的末尾。1.转到https://gitlab.......通过Chrome1.查看url前的锁定图标,单击此图标1.查看证书,并检查它的有效性(你需要这个)1.单击详细信息,然后复制到文件1.点击下一步并选择“Base-64 encoded”(Base-64编码)1.保存您的证书文件到某个文件(例如file_1.cert)1.使用Notpad++打开,然后复制所有内容,将其粘贴到Gitlab使用的当前证书文件的末尾1.再看看Gitlab,现在应该没问题了
xam8gpfp8#
不要使用git config --global http.sslVerify "false"@VonC虽然从技术上讲,ssh与ssl证书无关,但使用ssh克隆存储库完全绕过了http协议,因此也解决了这个问题。- 詹姆斯·赖特2021年10月4日17:49谢谢,这对我有用。我最初通过https://gitlab.com/repo.git克隆了我的仓库,最终导致了错误:fatal:unable to access 'https://gitlab.com/repo.git/':SSL证书问题:证书已过期要修复这个问题,只需使用SSH再次克隆项目。$ git clone [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection) :caring/repo.git避免使用$ git clone https://gitlab.com/repo.git
$ git clone [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection) :caring/repo.git
$ git clone https://gitlab.com/repo.git
8条答案
按热度按时间ymdaylpp1#
有一个快速修复方法可以在命令行中运行:
在the following article中找到解决方案。
更新日期:
虽然最初的解决方案提供了一个快速的解决方案,但由于评论中提出的问题,必须强调安全影响和负责任的使用。
警告:以下快速修复程序可能会通过禁用SSL验证使您面临安全风险:
使用此解决方案时要格外小心,并严格用于故障排除目的。
更安全的选择:
1.更新Git:请确保您使用的是最新版本的Git,它可能改进了SSL和证书问题的处理。
2.验证证书:
确定证书过期的原因,并与存储库管理员或IT部门联系以解决问题,因为管理和续订证书通常是他们的职责。
负责任地使用快速修复:
如果你发现自己不得不使用快速修复:
确保仅在安全和受控的环境中应用。从来没有在生产环境中。
通过运行以下命令尽快重新启用SSL验证
附加说明:
正如Eric K所评论的那样,拥有有效的SSL证书并不等同于您提取的代码的安全性。始终确保代码质量和完整性。
如果不确定,请咨询您的IT部门或网络安全Maven,了解过期证书和任何临时解决方案。
结论:
安全永远是最重要的。采用的解决方案不仅要解决眼前的问题,还要维护开发环境和代码的完整性和安全性。
5uzkadbs2#
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/
解决方案:
更新Git for Windows到最新版本:
或者,从以下位置安装最新版本的Git for Windows:https://git-scm.com/download/win
这个方法对我认识的几个人都有效。但是,如果您仍然遇到问题,请参阅:Git for windows: SSL certificate problem: certificate has expired
另外,这里有一个关于这个主题的好帖子:
https://github.com/git-for-windows/git/issues/3450
z4bn682m3#
Visual Studio应该使用Git for Windows。
如果您可以导出私有GitLab服务器的证书链,则可以将其添加到git文件夹中的
C:\path\to\Git\\usr\ssl\certs
文件中。9月更新2021:Let's Encrypt交叉签名的DST Root CA X3几天前过期:参见here for more。
2022年3月:正如Mohammed S. Al Sahaf在Twitter上指出的那样,top upvoted answer(
git config --global http.sslVerify "false"
)很少是一个好的选择。Git(技术上的OpenSSL)是混乱的,因为Let's Encrypt旧根过期(请参阅:来自**Scott Helme**的“Let's Encrypt's Root Certificate is expiring!“,创建于@securityheaders/@ softuri,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“。对于GitLab的私有示例integrated with Let's encrypt,Let's Encrypt证书的过期可能很重要。
在任何情况下,都不要删除
http.sslVerify
。将正确的证书添加到您的信任存储中(在仔细检查其有效性/来源后)。
aiqt4smr4#
在客户端更新git版本后,它工作正常。
步骤1:检查git的版本
步骤2:在客户端系统上更新git
drnojrws5#
我遇到了这个问题,我的解决方案是更新日期和时间。
ffscu2ro6#
这对我很有帮助。开放终端:
qpgpyjmq7#
当我试图从gitlab查看最新更新时,我遇到了这个问题,错误消息:SSL证书问题:证书链中的自签名证书。这意味着你的gitlb证书已经过期,你需要把最新的证书放在当前证书的末尾。
1.转到https://gitlab.......通过Chrome
1.查看url前的锁定图标,单击此图标
1.查看证书,并检查它的有效性(你需要这个)
1.单击详细信息,然后复制到文件
1.点击下一步并选择“Base-64 encoded”(Base-64编码)
1.保存您的证书文件到某个文件(例如file_1.cert)
1.使用Notpad++打开,然后复制所有内容,将其粘贴到Gitlab使用的当前证书文件的末尾
1.再看看Gitlab,现在应该没问题了
xam8gpfp8#
不要使用
git config --global http.sslVerify "false"
@VonC虽然从技术上讲,ssh与ssl证书无关,但使用ssh克隆存储库完全绕过了http协议,因此也解决了这个问题。- 詹姆斯·赖特2021年10月4日17:49
谢谢,这对我有用。
我最初通过https://gitlab.com/repo.git克隆了我的仓库,最终导致了错误:fatal:unable to access 'https://gitlab.com/repo.git/':SSL证书问题:证书已过期
要修复这个问题,只需使用SSH再次克隆项目。
$ git clone [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection) :caring/repo.git
避免使用
$ git clone https://gitlab.com/repo.git