Spécification d'une version TLS mineure lors de l'utilisation de curl

19

Existe-t-il un moyen de spécifier curl pour utiliser une version TLS spécifique? Comme 1.1 ou 1.2? Je ne peux voir que les options sslv3 et tlsv1 dans l'aide de la commande. J'ai pris le dernier src et l'ai compilé avec openssl 1.0.1e. Je ne vois toujours pas d'option directe dans l'aide. Existe-t-il un autre moyen de le configurer?

vpram86
la source
2
Je ne vois pas non plus d'options pour définir une version TLS mineure. Consultez également ce fil de discussion : «En effet, lorsque libcurl est configuré pour utiliser TLSv1, il utilise automatiquement le numéro de version le plus élevé pris en charge par votre bibliothèque TLS et rétrograde en TLS 1.0 si le serveur ne prend pas en charge 1.1 ou 1.2. option ici car, jusqu'à ce qu'un problème grave soit détecté dans la version 1.0, il n'est pas nécessaire qu'il y ait une option distincte. "
Karan

Réponses:

15

Depuis la version 7.34.0, Curl a des options --tlsv1.0, --tlsv1.1et --tlsv1.2à cet effet.

La page de manuel indique

-1, --tlsv1

(SSL) Force curl à utiliser TLS version 1.x lors de la négociation avec un serveur TLS distant. Vous pouvez utiliser les options --tlsv1.0, --tlsv1.1 et --tlsv1.2 pour contrôler plus précisément la version TLS (si le backend SSL utilisé prend en charge un tel niveau de contrôle).

...

--tlsv1.2

(SSL) Force curl à utiliser TLS version 1.2 lors de la négociation avec un serveur TLS distant. (Ajouté dans 7.34.0)

RedGrittyBrick
la source
3

En plus de --tlsvX.Y/ --sslvZ, qui impose une limite stricte aux protocoles que curl choisirait, vous pouvez utiliser --tls-max x.ypour contrôler en douceur la négociation de protocole.

AnrDaemon
la source
1

Le comportement de Curl a changé!

Pour les versions antérieures à 7.54.0, la réponse de RedGrittyBrick reste correcte. Pour la version de boucle après 7.54.0 les options --tlsv1.0, --tlsv1.1et --tlsv1.2définir la minimum version de TLS qui boucle utilisera. Pour spécifier l'utilisation maximale --tls-max <VERSION>.

Depuis la page de manuel :

--tls-max

(SSL) VERSION définit la version TLS maximale prise en charge. La version minimale acceptable est définie par tlsv1.0, tlsv1.1, tlsv1.2 ou tlsv1.3.

nelsonda
la source
0

Jetez un œil à l'option --cipher, voir la page de manuel et les documents OpenSSL . Vous devriez pouvoir fournir une liste de chiffrement qui forcera certaines versions.

BowlesCR
la source