【问题标题】:What version of Git supports TLS 1.2?什么版本的 Git 支持 TLS 1.2?
【发布时间】:2018-12-03 13:01:40
【问题描述】:

Bitbacket shutdown TLS v1.0 & v1.1。由于旧的 Git,我们的 Jenkins 失败了:

git --version
git version 1.8.2.3
+ GIT_CURL_VERBOSE=1
+ git ls-remote https://bitbucket.org/
* Couldn't find host bitbucket.org in the .netrc file, using defaults
* About to connect() to bitbucket.org port 443
*   Trying 18.205.93.1... * connected
* Connected to bitbucket.org (18.205.93.1) port 443
* successfully set certificate verify locations:
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* Unknown SSL protocol error in connection to bitbucket.org:443

我查看了 Git 发行说明:

git clone --depth=1 https://github.com/git/git

并没有发现任何关于 TLS v1.2 支持的信息:

cd git/Documentation/RelNotes
grep TLS

我应该告诉系统管理员哪个版本的 Git 最低支持 TLS v1.2?

注意我们在我们的基础设施中不是热门,请不要说更新到昨天的版本...

注意 2 我可能会错过 Git 内部和其他操作系统库可能会影响 TLS v1.2 支持。

【问题讨论】:

  • 听起来很奇怪。我从 bitbucket 收到了关于 TLS 迁移的相同通知。我没有在我的服务器(ubuntu)中制作任何东西,并且一切都按预期工作。也许重新安装 git 可能是解决方案。

标签: git jenkins tls1.2


【解决方案1】:

为了执行 HTTP 和 HTTPS,Git 使用了一个名为 libcurl 的库。这个库又链接到一些提供 TLS 的库,通常是 OpenSSL、GnuTLS 或 NSS,具体取决于您的操作系统。在 Linux 上找出您的 Git 链接到哪一个的最简单方法是运行 ldd $(which "$(git --exec-path)"/git-http-push)

如果输出包含“libgnutls”的内容,那么您正在使用 GnuTLS,并且您需要 GnuTLS 2.12.24 或更高版本以获得正确的 TLS 1.2 支持。

如果输出包含“libnss”的内容,那么您使用的是 NSS,并且您需要 NSS 3.15.1。

如果输出中包含“libssl”而没有其他内容,那么您使用的是 OpenSSL,并且您需要 OpenSSL 1.0.1。

请注意,某些供应商向后移植补丁或需要升级他们的 libcurl 版本才能正确启用 TLS 1.2,因此这可能并不完全正确,具体取决于您的供应商。

请注意,您可能正在使用适用于 RHEL 和 CentOS 5 的 EPEL 版本的 Git。如果是这样,请注意这些操作系统根本不支持 TLS 1.2,也不会获得任何支持。

【讨论】:

    【解决方案2】:

    我在Github migration guilde 上找到了有希望的信息:

    Red Hat 5、

    Red Hat 5、6 和 7 附带不支持 TLSv1.2 的 Git 客户端。这可以通过分别更新到版本 6.8 和 7.2(或更高版本)来解决。不幸的是,Red Hat 5 没有支持 TLSv1.2 的单点版本。我们建议 Red Hat 5 的用户升级到更新版本的操作系统。

    这并没有回答我的问题:Git 需要什么才能使用 TLS v1.2。哪个版本,libc,其他库版本...

    【讨论】:

      【解决方案3】:

      作为对您问题的间接回答,this post 建议调用以下 CLI 命令来了解您的机器使用的 TLS 版本:

      nmap --script ssl-enum-ciphers -p 443 example.com
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-08-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多