如何将其配置为使用 TLS?
Git 2.5(2015 年 8 月)已经允许指定在协商 SSL 连接时使用的密码列表,使用http.sslCipherList
和GIT_SSL_CIPHER_LIST
.
(请参阅无法与对等方安全通信:没有通用加密算法)
从 Git 2.6+(2015 年第三季度)开始,可以明确指定 SSL 版本:
http
:添加对指定 SSL 版本的支持
请参阅Elia Pinto ( )的提交 01861cb(2015 年 8 月 14 日) 。
帮助者:Eric Sunshine ( )。(由Junio C Hamano 合并 -- --在ed070a4 提交中,2015 年 8 月 26 日)devzero2000
sunshineco
gitster
http.sslVersion
协商 SSL 连接时使用的 SSL 版本(如果要强制使用默认值)。
可用版本和默认版本取决于 libcurl 是针对 NSS 还是 OpenSSL 构建的,以及正在使用的加密库的特定配置。这在内部设置了 ' CURLOPT_SSL_VERSION
' 选项;有关此选项的格式和支持的 ssl 版本的更多详细信息,请参阅 libcurl 文档。
实际上这个选项的可能值是:
- sslv2
- sslv3
- tlsv1
- tlsv1.0
- tlsv1.1
- tlsv1.2
可以被 ' GIT_SSL_VERSION
' 环境变量覆盖。
要强制 git 使用 libcurl 的默认 ssl 版本并忽略任何显式http.sslversion
选项,请将 ' GIT_SSL_VERSION
' 设置为空字符串。
上述设置很重要,因为GitHub 现在(2018 年 2 月)强制禁用弱加密标准。
2018 年 2 月 8 日,我们将开始禁用以下功能:
Git 2.18(2018 年第二季度)现在可以使用 TLSv1.3:
当使用更新的版本构建时cURL
,GIT_SSL_VERSION
现在可以指定 " tlsv1.3
" 作为其值。
请参阅Loganaden Velvindron ( )提交的 d81b651(2018 年 3 月 29 日)。(由Junio C Hamano 合并 -- --在9b59d88 提交中,2018 年 4 月 11 日)loganaden
gitster
http
:允许使用 TLS 1.3
http.sslVersion
除了现有的 tlsv1.[012] 之外,添加一个 tlsv1.3 选项 选项。
libcurl
从 7.52.0 开始支持这一点。
这需要启用 TLS 1.3 的 OpenSSL 1.1.1 或curl
使用最新版本的 NSS 或 BoringSSL 作为 TLS 后端构建。
在 Git 2.21(2019 年第一季度)中,一个新的“ http.version
”配置变量可以与最新的 cURL 库一起使用,以强制在 fetching 和 push 时使用的 HTTP 版本。
请参阅Force Charlie ( ) 的提交 d73019f(2018 年 11 月 9 日)。(由Junio C Hamano 合并——在提交 13d9919中,2019 年 1 月 4 日)fcharlie
gitster
http:添加支持选择http版本
通常我们不需要设置libcurl
来选择使用哪个版本的 HTTP 协议来与服务器通信。
但是不同的版本libcurl
,默认值是不一样的。
CURL >= 7.62.0: CURL_HTTP_VERSION_2TLS
CURL < 7.62: CURL_HTTP_VERSION_1_1
为了让用户可以自由控制 HTTP 版本,我们需要添加一个设置来选择使用哪个 HTTP 版本。
git config
手册页现在显示:
http.version:
与服务器通信时使用指定的 HTTP 协议版本。
如果要强制默认。
可用版本和默认版本取决于libcurl
.
实际上这个选项的可能值是: