

(SSL) Forces curl to use TLS version 1.2 when negotiating with a remote TLS server. You can use options -tlsv1.0, -tlsv1.1, and -tlsv1.2 to control the TLS version more precisely (if the SSL backend in use supports such a level of control).

The output below shows a successful TLS 1.2. (SSL) Forces curl to use TLS version 1.x when negotiating with a remote TLS server. Now, let’s tell curl to use TLS protocol version of 1.2 with the parameters -tlsv1.2 -tls-max 1.2 and see if we can successfully access the webserver. Since version 7.34.0, Curl has options -tlsv1.0, -tlsv1.1 and -tlsv1.2 for this purpose. Version 7.52.0 introduced -tlsv1.3 in addition to the other options listed below. To specify an exact version to be used you likely have to also specify a value for -tls-max curl -tlsv1.2 -tls-max 1.2. Options like -tlsv1.2 now specify a minimum version that is to be used, they no longer specify the exact version to be used. Since version 7.54.0 the behaviour has changed, see nelsonda's answer. There have been several relevant changes in Curl since the original question was asked. At the date of the last revision to this answer, if you want to specify that TLS 1.2 is used but not 1.1 or 1.3 etc, you need something like curl -tlsv1.2 -tls-max 1.2. Curl has options to control the TLS version used.
