"致命:遇到HttpRequestException." 由于删除了TLS-1.0支持,GitHub/Bitbucket存储库出错

Eri*_*ley 34 git github bitbucket tls1.2 tls1.0

问题

当我推送到GitHub仓库时,我最近遇到以下消息:

"fatal: HttpRequestException encountered. " 然后再次提示输入我的用户名和密码.

从以前的搜索中,Visual Studio其他各种搜索具有相同的根问题.对于那些比我更懒的人来说,不同应用程序/操作系统的各种解决方案的摘要在这里进行了相关的讨论.希望人们觉得这很有帮助.

原因

无法真正将更新服务称为问题,所以这就是原因.问题是GitHub已经删除了TLS-1.0支持,这导致了客户端的问题,包括Microsoft Visual Studio内置的git客户端,Git版本低于1.14以及GUI客户端包括tortoiseGit等.完整的发行说明可以在这里找到: https://githubengineering.com/crypto-removal-notice/

Bitbucket将从2018年12月1日开始下降TLSv1.0和TLSv1.1.我预计会遇到类似的问题.

编辑:将我的自我答案移至答案框.见下文.

Eri*_*ley 28

Git hub已从其身份验证服务中删除了TLS-1.0.https://githubengineering.com/crypto-removal-notice/

解决方案

Windows客户端

使用适用于Windows的Git 2.14.3(或更新版本)以及更新的适用于Windows的Git Credential Manager:https://gitforwindows.org/

您还可以将Git Windows Credencial Manager明确更新到最新版本1.14.0,以获得TLS-1.2支持:https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/ v1.14.0

Visual Studio客户端

建议将您的客户端更新到VS 2017,或者,如果您无法升级,则可以设置两个计算机范围的注册表项,这些注册表项会影响您可以更改的客户端计算机上的所有基于.NET的应用程序... https:/ /developercommunity.visualstudio.com/content/problem/201457/unable-to-connect-to-github-due-to-tls-12-only-cha.html

JDK

TLS-1.2在JDK8中是默认的,在JDK7中可用. https://blogs.oracle.com/java-platform-group/diagnosing-tls,-ssl,-and-https

红帽原生Git客户端

RH 5不支持TLS-1.2,GitHubEngineering建议更新到更新版本的操作系统.RH 6.8和7.2将支持TLS-1.2.https://www.linuxquestions.org/questions/blog/mensawater-183304/rhel5-wont-support-tlsv1-1-or-higher-36951/


小智 7

步骤1首先,您需要下载并安装最新版本的Git Windows Credential Manager.

这是GitHub上的链接.https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/latest

步骤2重新启动计算机.

步骤3在命令行中输入git命令,系统将提示您再次登录.

步骤4如果您仍然遇到相同的致命错误,则需要通过从此处下载最新版本来更新Git:https: //git-scm.com/downloads

步骤5在命令行中输入git命令,系统将提示您再次登录.问题现在应该解决,你应该能够正常地继续工作.

  • 应该包括学分:[source](https://codeshare.co.uk/blog/how-to-solve-the-github-error-fatal-httprequestexception-encountered/) (3认同)

小智 6

旧版本的git中停止了TLS支持.

在您的机器上升级git解决了这个问题.

从这里下载最新的git并为您的机器安装:https://git-scm.com/downloads.