文档首页> 代码托管 CodeArts Repo> 常见问题> 仓库管理> 代码托管服务升级TLS协议版本
更新时间:2023-09-06 GMT+08:00
分享

代码托管服务升级TLS协议版本

问题现象

代码托管致力于提供安全、可靠、稳定、快速的代码托管服务,始终将代码资产的安全放在首位。

2018年宣布了TLSv1弱加密标准的弃用。在2019年1月11日以后,将开始禁用以下内容:

  • TLSv1:适用于所有HTTPS连接,包括与代码托管的Web、API和Git连接。

原因分析

  • 目前只有一小部分流量使用了弃用的算法,且很多客户端将自动转换并开始使用新算法,会有一小部分客户端受到影响。
  • 预计其中大多数是不再维护的旧系统,继续使用不推荐使用的算法访问Git / CodeArts Repo API。

处理方法

  • 如果您的GitBash版本低于2.6.0,请将您本地的Git客户端升级到最新版本,最新版本的Git客户端默认支持TLSv1.2协议。
  • 您也可以使用如下命令检查本地的GitBash的TLS版本:
    git config http.sslVersion

    如果是TLSv1.0,则用下面一句命令行更新至TLSv1.2

    git config --global http.sslVersion tlsv1.2

绝大多数流量不受此变化的影响。预计会有一些客户受到影响。大多数客户端都可以更新以使用TLSv1.2。

Git-Credential-Manager-for-Windows < v1.14.0

Git-Credential-Manager-for-Windows < v1.14.0不支持TLSv1.2。

可以通过更新到最新版Git客户端来解决,最新版版本的GitBash自带Git-Credential-Manager功能,只需要在安装时勾选即可。

Git on Red Hat 5,<6.8和<7.2

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

Java发布

如Oracle博客文章中所述,默认情况下,TLSv1用于JDK8之前的JDK版本。JDK8更改了此行为,默认为TLSv1.2。在旧版本的JDK上运行的任何客户端(例如Eclipse自带的JGit这样的流行客户端)都会受到影响。这可以通过更新到JDK> = 8或明确选择在JDK 7中的TLSv1.2来解决(查看https.protocols JSSE调整参数)。不幸的是,JDK <= 6的版本不支持TLSv1.2。我们建议JDK <= 6的用户升级到较新版本的JDK。

Visual Studio

​Visual Studio附带了特定版本的Git for Windows和Git Credential Manager for Windows(GCM)。 Microsoft已更新Visual Studio 2017的最新版本以与TLSv1.2 Git服务器配合使用。我们建议Visual Studio用户通过单击产品内通知标志或直接从IDE检查更新来升级到最新版本。 Microsoft已在Visual Studio开发人员社区支持论坛上提供了其他指导。

第三方Git图形客户端

如果您使用的是Eclipse、JetBrains、SourceTree、VSCode、Tower、TortoiseGit等第三方Git客户端时,建议下载最新的GitBash客户端,在工具中设置使用原生(Native)的Git,而不是Build-in类型。

  • IDEA设置方式

  • SourceTree设置方式

  • Eclipse设置方式

分享:

仓库管理 所有常见问题

more