【问题标题】:How to import a zscaler certificate into Git如何将 zscaler 证书导入 Git
【发布时间】:2019-04-02 18:04:16
【问题描述】:

尝试从 GIT 在 azure DevOps 上签入/签出代码时,出现以下错误。

应用程序必须将流量发送到 Zscaler 代理。为此,我们在 GIT 中取消了代理设置,该应用程序能够连接 URL,但 SSL 握手没有发生。 GIT 不知道 Zscaler 证书,因为它无法与目标服务器建立 SSL 握手。 我需要找到一种在 GIT 应用程序中导入 Zscaler 证书的方法,以便它可以连接目标。 是否可以将证书复制粘贴到 GIT 文件夹中。 Git\usr\ssl\certs 下的证书是什么 有人可以帮忙吗?

【问题讨论】:

  • 看一下 git http.sslCAInfo 配置选项并以这种情况为例:stackoverflow.com/a/16543283/6368697
  • 同样的问题,自 10 月以来有什么进展吗?
  • @fontophilic 检查我的答案

标签: git ssl azure-devops ssl-certificate zscaler


【解决方案1】:

对于企业场景(zscaler、ssl 检查...),从 OpenSSL 切换到 SSL/证书验证 (SCHANNEL) 的 Windows 实现可能是一个不错的选择。它确保 git 将使用与您正在使用的许多其他应用程序相同的证书存储。 This answer 讨论了所需的设置。

this 之类的解决方案相比,该方法避免了在 IT 需要推出更新时必须更新专门为 git 存储的证书。

【讨论】:

    【解决方案2】:

    能够通过命令绕过这个问题

    git config --global http.sslVerify false

    要信任证书,您可以尝试以下步骤并检查结果:

    1. 通过浏览器(例如chrome)导出证书:点击锁定 地址栏中的图标 > 证书 > 证书路径 > 选择 链中最顶层的证书 > 查看证书 > 复制到文件 (选择 Base-64 编码的 X.509)。
    2. 将内容复制到 ca-bundle.crt 文件 (通过调用 git config –l 命令检查 http.sslcainfo 值)更多 信息:添加公司(或自签名)证书 git.exe 存储的权限

    More information: Adding a corporate (or self-signed) certificate authority to git.exe’s store

    【讨论】:

    • 请不要建议/显示禁用所有 GIT 证书验证,而无需声明这可能是一个重大的安全问题。对于您的方案(企业/zscaler/ssl 检查),请查看this answer
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2014-11-10
    • 2010-10-21
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    • 2010-10-15
    相关资源
    最近更新 更多