代码之家  ›  专栏  ›  技术社区  ›  gavenkoa

什么版本的Git支持TLS1.2?

  •  0
  • gavenkoa  · 技术社区  · 6 年前

    Bitbacket shutdown TLS v1.0 & v1.1 . 我们的Jenkins因为旧Git而失败:

    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 clone --depth=1 https://github.com/git/git
    

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

    cd git/Documentation/RelNotes
    grep TLS
    

    我们不在路上 在我们的基础设施中,请不要说任何关于更新到昨天发布的内容。。。

    附注2 我可能会错过Git内部构件和其他操作系统库,它们可能会影响TLS v1.2支持。

    2 回复  |  直到 6 年前
        1
  •  4
  •   bk2204    6 年前

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

    如果输出包含“libgnutls”字样,那么您使用的是GnuTLS,需要GnuTLS 2.12.24或更高版本才能获得正确的tls1.2支持。

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

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

    请注意,一些供应商需要对其libcurl版本进行后置补丁或升级,以便正确启用TLS 1.2,因此这可能并不完全正确,具体取决于您的供应商。

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

        2
  •  1
  •   Community CDub    4 年前

    我在这方面发现了有希望的信息 Github migration guilde :

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

        3
  •  0
  •   WoodrowShigeru    4 年前

    this post 建议调用以下CLI命令以了解您的计算机使用的TLS版本:

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