Especificación de una versión menor de TLS cuando se usa curl

18

¿Hay alguna manera de especificar curl para usar una versión específica de TLS? ¿Te gusta 1.1 o 1.2? Solo puedo ver las opciones sslv3 y tlsv1 en la ayuda de comandos. Tomé el último src y lo compilé con openssl 1.0.1e. Todavía no veo una opción directa en la ayuda. ¿Hay alguna otra forma de configurarlo?

vpram86
fuente
2
Tampoco veo ninguna opción para configurar una versión TLS menor. También vea este hilo : "Eso es porque, cuando libcurl está configurado para usar TLSv1, usará automáticamente el número de versión más alto admitido por su biblioteca TLS, y bajará a TLS 1.0 si el servidor no es compatible con 1.1 o 1.2. opción aquí porque, hasta que se encuentre un problema grave en 1.0, no es necesario que haya una opción separada ".
Karan

Respuestas:

15

Desde la versión 7.34.0, Curl tiene opciones --tlsv1.0, --tlsv1.1y --tlsv1.2para este propósito.

La página del manual dice

-1, --tlsv1

(SSL) Obliga a curl a usar TLS versión 1.x 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 dicho nivel de control).

...

--tlsv1.2

(SSL) Obliga a curl a usar la versión 1.2 de TLS al negociar con un servidor TLS remoto. (Agregado en 7.34.0)

RedGrittyBrick
fuente
3

Además de --tlsvX.Y/ --sslvZ, que establece un límite estricto a los protocolos que elegiría curl, puede usarlos --tls-max x.ypara controlar suavemente la negociación de protocolos.

AnrDaemon
fuente
0

Eche un vistazo a la opción --cipher, consulte la página de manual y los documentos de OpenSSL . Debería poder proporcionar una lista de cifrado que obligue a ciertas versiones.

BowlesCR
fuente
0

¡El comportamiento de Curl ha cambiado!

Para versiones anteriores a 7.54.0, la respuesta de RedGrittyBrick sigue siendo correcta. Para la versión de rizo después de 7.54.0 las opciones --tlsv1.0, --tlsv1.1y --tlsv1.2establecer la mínima versión de TLS que utilizará rizo. Para especificar el uso máximo --tls-max <VERSION>.

Desde la página del manual :

--tls-max

La versión (SSL) define la versión máxima admitida de TLS. La versión mínima aceptable se establece en tlsv1.0, tlsv1.1, tlsv1.2 o tlsv1.3.

nelsonda
fuente