web-dev-qa-db-fra.com

curl: erreur (35): 1408F10B: routines SSL: ssl3_get_record: numéro de version incorrect

Lorsque j'essaie de me connecter à un serveur (google.com, par exemple) à l'aide de curl (ou de libcurl), le message d'erreur suivant s'affiche:

curl: erreur (35): 1408F10B: routines SSL: ssl3_get_record: numéro de version incorrect

Sortie verbeuse:

$ curl www.google.com --verbose  
* Rebuilt URL to: www.google.com/  
* Uses proxy env variable no_proxy == 'localhost,127.0.0.1,localaddress,.localdomain.com'  
* Uses proxy env variable http_proxy == 'https://proxy.in.tum.de:8080'  
*   Trying 131.159.0.2...  
* TCP_NODELAY set  
* Connected to proxy.in.tum.de (131.159.0.2) port 8080 (#0)  
* successfully set certificate verify locations:  
*   CAfile: /etc/ssl/certs/ca-certificates.crt  
  CApath: none  
* TLSv1.3 (OUT), TLS handshake, Client hello (1):  
* error:1408F10B:SSL routines:ssl3_get_record:wrong version number  
* Closing connection 0  
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number'  

Pour une raison quelconque, curl semble utiliser TLSv1.3 même si je le force à utiliser TLSv1.2 avec la commande --tlsv1.2 (il imprimera toujours TLSv1.3 (OUT), ... "J'utilise la version la plus récente. de Curl et OpenSSL:

$ curl -V  
curl 7.61.0-DEV (x86_64-pc-linux-gnu) libcurl/7.61.0-DEV OpenSSL/1.1.1 zlib/1.2.8  
Release-Date: [unreleased]  
Protocols: dict file ftp ftps Gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp  
Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS-proxy  

Je pense que ceci est un problème lié à mon installation des programmes. Quelqu'un peut-il m'expliquer ce que signifie ce message d'erreur?

37
Bernhard Jaeger
* Uses proxy env variable http_proxy == 'https://proxy.in.tum.de:8080'   
                                         ^^^^^

Le https:// est faux, il devrait être http://. Le proxy lui-même doit être accessible par HTTP et non par HTTPS, même si l'URL cible est HTTPS. Néanmoins, le proxy gérera correctement la connexion HTTPS et conservera le cryptage de bout en bout. Voir méthode HTTP CONNECT pour plus de détails sur cette opération.

68
Steffen Ullrich