Courir boucle avec OpenSSL 0.9.8 contre le serveur OpenSSL 1.0.0 provoque une erreur handshake?
Si je lance curl contre une machine qui exécute OpenSSL 1.0.0 e par exemple:
curl -v https://shumaker.flexrentalsolutions.com
sur un ordinateur qui exécute OpenSSL 0.9.8 r j'obtiens l'erreur suivante:
About to connect() to shumaker.flexrentalsolutions.com port 443 (#0)
* Trying 50.112.122.15... connected
* Connected to shumaker.flexrentalsolutions.com (50.112.122.15) port 443 (#0)
* SSLv3, TLS handshake, Client hello (1):
* error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112)
* Closing connection #0
Si je lance la même commande curl sur un ordinateur qui exécute OpenSSL 1.0.0 e la commande se termine sans aucun problème.
Il semble que la poignée de main n'est pas de remplir correctement, apparemment à cause d'une incompatibilité entre les deux versions d'OpenSSL.
Une idée de comment résoudre ce problème?
source d'informationauteur rogiller
Vous devez vous connecter pour publier un commentaire.
C'est un (OpenSSL) bug qui est toujours ouvert. Les détails ont été publiés dans cette curl rapport de bug.
Plus de détails a été posté à OpenSSL-dev par "manche".
Si vous définissez la version d'openssl dans le protocole, il fonctionne:
Pour la ligne de commande:
Si en php:
Maintenant, en raison du
POODLE vulnerability
de nombreux sites sont aujourd'hui la désactivation deSSL 3.0
Vous devez utiliser
TLS
comme ceci :curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1)
Si vous avez encore des erreur (pour Apache), vérifiez si votre
vhost
obtenir le réglage correctServerName
Ce n'est pas un bonne solution, mais c'est mieux que la rotation des roues, donc je vais l'ajouter ici une réponse:
Utiliser le GnuTLS module au lieu de mod_ssl, si vous le pouvez. Il n'est pas lié à OpenSSL, de sorte que cet horrible jour de gaspiller problème est soigneusement évité.
J'ai ce problème sur OS X à l'aide d'infusion sur certains serveurs https, le bistrot utilise curl en interne. Remarque ce n'est que sur OS X 10.7.5, qui est collé sur OpenSSL/0.9.8 r. Je voudrais le mettre à jour mais apple n'est pas support > 10.7 sur cet iMac!
Ma solution était de mise à niveau curl avec brew, ce qui augmente la version 1.0.2 f, heureusement le brew install de curl n'a pas