Te sugerimos que pruebes esta respuesta en un ambiente controlado antes de enviarlo a producción, saludos.
Solución:
Curl tiene opciones para controlar la versión TLS utilizada. En la fecha de la última revisión de esta respuesta, si desea especificar que se usa TLS 1.2 pero no 1.1 o 1.3, etc., necesita algo como
curl --tlsv1.2 --tls-max 1.2 ...
Ha habido varios cambios relevantes en Curl desde que se hizo la pregunta original.
Versión 7.54.0
Desde la versión 7.54.0, el comportamiento ha cambiado, vea la respuesta de nelsonda.
Opciones como --tlsv1.2
ahora especifica un mínimo versión que se va a utilizar, ya no especifican la exacto versión a utilizar.
Para especificar una versión exacta que se utilizará, es probable que también tenga que especificar un valor para --tls-max
curl --tlsv1.2 --tls-max 1.2 ...
Versión 7.52.0
Versión 7.52.0 introducida --tlsv1.3
además de las otras opciones enumeradas a continuación.
Versión 7.34.0
Desde la versión 7.34.0, Curl tiene opciones --tlsv1.0
, --tlsv1.1
y --tlsv1.2
para este propósito.
La página de manual decía
-1, –tlsv1
(SSL) Obliga a curl a usar la versión 1.x de TLS al negociar con un servidor TLS remoto. Puede usar las opciones –tlsv1.0, –tlsv1.1 y –tlsv1.2 para controlar la versión de TLS con mayor precisión (si el backend SSL en uso admite ese nivel de control).
…
–tlsv1.2
(SSL) Obliga a curl a usar TLS versión 1.2 al negociar con un servidor TLS remoto. (Agregado en 7.34.0)
¡El comportamiento de Curl ha cambiado!
Para las versiones anteriores a la 7.54.0, la respuesta de RedGrittyBrick sigue siendo correcta. Para la versión de curl posterior a 7.54.0, las opciones --tlsv1.0
, --tlsv1.1
y --tlsv1.2
selecciona el mínimo versión de TLS que usará curl. Para especificar el uso máximo --tls-max
.
De la página de manual:
–tls-max
(SSL) VERSION define la versión TLS máxima admitida. La versión mínima aceptable está establecida por tlsv1.0, tlsv1.1, tlsv1.2 o tlsv1.3.
Además de --tlsvX.Y
/--sslvZ
que pone un límite estricto a los protocolos que elegiría curl, puede usar --tls-max x.y
para controlar suavemente la negociación del protocolo.
Recuerda algo, que tienes la capacidad de decir si te fue preciso.