According to the H/2 spec H/2 MUST use TLS 1.2 or higher:
Implementations of HTTP/2 MUST use TLS version 1.2 [TLS12] or higher
for HTTP/2 over TLS.
https://datatracker.ietf.org/doc/html/rfc7540#section-9.2
However if I run:
curl https://example.com --tls-max 1.1 -svo /dev/null
* Trying 93.184.216.34:443...
* Connected to example.com (93.184.216.34) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
curl offers h2 in the ALPN.
--tls-max 1.1 should imply --http1.1
curl https://example.com --tls-max 1.1 --http1.1 -svo /dev/null
* Trying 93.184.216.34:443...
* Connected to example.com (93.184.216.34) port 443 (#0)
* ALPN, offering http/1.1
curl -V
curl 7.80.0 (x86_64-pc-linux-gnu) libcurl/7.80.0 OpenSSL/1.1.1m zlib/1.2.11 brotli/1.0.9 zstd/1.5.1 libidn2/2.3.2 libpsl/0.21.1 (+libidn2/2.3.0) libssh2/1.10.0 nghttp2/1.46.0
Release-Date: 2021-11-10
Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets zstd
uname -a
Linux peninsula 5.15.10-arch1-1 #1 SMP PREEMPT Fri, 17 Dec 2021 11:17:37 +0000 x86_64 GNU/Linux
This is something of the inverse of Issue #7980 and TODO 5.7
According to the H/2 spec H/2 MUST use TLS 1.2 or higher:
https://datatracker.ietf.org/doc/html/rfc7540#section-9.2
However if I run:
curl offers h2 in the ALPN.
--tls-max 1.1should imply--http1.1This is something of the inverse of Issue #7980 and TODO 5.7