【问题标题】:Unable to access gitlab: SSL certificate has expiredgitlab无法访问:SSL证书已过期
【发布时间】:2020-05-18 08:44:19
【问题描述】:

在 Visual Studio 中,我试图从 GitLab 的存储库中提取一些更改,但它给了我一个错误:

Git 因致命错误而失败。
无法访问https://gitlab...git/:SSL证书问题:证书已过期*

如何生成新证书并将其添加到 VS?我对 GitLab 没有任何经验。

【问题讨论】:

  • 必须为 gitlab 服务器创建证书。这不是您在 VS 中所做的事情。因此,请联系维护 gitlab 服务器的人,并要求他们修复此服务器端问题,该问题也可能影响其他用户。但请确保问题实际上是由过期的证书引起的,而不是本地计算机上的时钟完全错误。
  • 我可以访问存储库,我想我可以生成它。但是不知道怎么弄,然后怎么加到VS中
  • 证书不是特定于存储库而是特定于服务器,即对存储库的访问不足以为服务器创建新证书。

标签: visual-studio ssl gitlab


【解决方案1】:

您可以在命令行中运行一个快速修复:

git config --global http.sslverify "false"

解决方案在the following article找到。

【讨论】:

    【解决方案2】:

    Visual Studio 应该使用Git for Windows

    如果您可以导出私有 GitLab 服务器的证书链,则可以将其添加到您的 git 文件夹中的 ca-bundle.crt 文件中,在 C:\path\to\Git\\usr\ssl\certs 中。

    2021 年 9 月更新:让我们加密交叉签名的 DST 根 CA X3 几天前过期:请参阅 here for more

    【讨论】:

    • 在 cmd 中,我使用命令 ssh-keygen -t rsa -C "email@email.com" 生成了密钥。然后我将文件C:\Users\dmitr\.ssh\id_rsa.pub 的内容复制到gitlab 的用户设置中,添加键的标题并按下添加按钮。我应该做些什么吗?现在还是不行
    • @DimaKozyr ssh-keygen 与 ssl 证书 (community.letsencrypt.org/t/…) 无关。您需要从浏览器中导出证书链 (help.duo.com/s/article/2222?language=en_US)
    • @VonC 虽然从技术上讲 ssh 与 ssl 证书无关,但使用 ssh 克隆存储库完全绕过了 http 协议,因此也解决了问题。
    • @JamesWright 我同意。然而,SSH 不在此问题的范围内,当前(2021 年 9 月/10 月)的 SSL 问题很可能与 Let's Encrypt:stackoverflow.com/q/69387175/6309 相关,其交叉签名的 DST Root CA X3 在几天前过期。
    【解决方案3】:

    这对我很有帮助。打开终端:

    git config http.sslVerify false
    

    【讨论】:

      【解决方案4】:

      Visual Studio 中的 Git 错误:

      PM> git pull
      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 CMD
      • 在命令行中,输入:
        git update-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

      【讨论】:

        【解决方案5】:

        在客户端更新git版本后,它工作正常。

        第一步:检查 git 的版本

            > git version
            
        

        第 2 步:在客户端系统上更新 git

            > git update
            
            > git version
        

        【讨论】:

        • 这解决了我的问题,谢谢。
        【解决方案6】:

        我遇到了这个问题,我的解决方案是更新日期和时间。

        【讨论】:

        • 这是。真的是我的问题,谢谢指出。来自我的 +1(减少到 -1 分 :D)
        【解决方案7】:

        当我尝试从 gitlab 查看最新更新时遇到问题,错误消息: SSL 证书问题:证书链中的自签名证书。这意味着你的 gitlb 证书已经过期,你需要把最新的证书放在当前证书的末尾。

        1. 通过 Chrome 访问 https://gitlab.......
        2. 查看网址前的锁形图标,点击此图标
        3. 查看证书,并检查它是否有效(你需要这个)
        4. 点击详细信息,然后复制到文件
        5. 单击下一步并选择“Base-64 编码”
        6. 将证书文件保存到某个文件(例如 file_1.cert)
        7. 用 Notpad++ 打开,然后全部复制,粘贴到 Gitlab 使用的当前证书文件的末尾
        8. 再次查看 Gitlab,现在应该可以了

        【讨论】:

          猜你喜欢
          • 2020-12-02
          • 1970-01-01
          • 2020-09-18
          • 2019-12-11
          • 2018-08-27
          • 2021-11-29
          • 2023-01-20
          • 2020-05-20
          • 1970-01-01
          相关资源
          最近更新 更多