Titre: Erreur de connexion à Newbie Contest avec libcurl/C++ Posté par: jfcl1 le 06 Mai 2021 à 15:32:02 Salut à tous,
Je reprends ma procédure de connexion à Newbie Contesr avec CodeBlocks / C++ / Libcurl. J'utilise curl_easy_setopt(). Cette procédure, que je n'ai pas changée, et même en reprenant un ancien exécutable, ne marche plus. Je reçois l'erreur : error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure Y aurait-il quelque chose de changé dans la connexion à Newbie Contest ? (nb : mes anciennes solutions avec php marchent toujours) Avez-vous une idée du problème et d'une solution ? (cette erreur est très souvent citée sur le Web mais je ne trouve pas la parade) MayDay jfcl1 Titre: Re : Erreur de connexion à Newbie Contest avec libcurl/C++ Posté par: the lsd le 07 Mai 2021 à 08:18:55 Tu as un warning sur ssl3 qui est un vieux protocole SSL/TLS désactivé depuis des années sur NC (heureusement ^^'). De souvenir, on ne parle qu'en TLS1.2 (peut être 1.1 si j'ai fait de la compatibilité avec les anciens browsers, mais bref).
Regarde si ton problème ne vient pas de là :) Enjoy The lsd Titre: Re : Erreur de connexion à Newbie Contest avec libcurl/C++ Posté par: jfcl1 le 09 Mai 2021 à 20:02:32 Merci lsd pour ta réponse.
En fait précédemment je ne précisais pas la version. J'avais alors le message : * Connected to www.newbiecontest.org (212.83.176.16) port 443 (#0) * Unknown SSL protocol error in connection to www.newbiecontest.org:443 Si je précise : curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1); => * error:1409442E:SSL routines:SSL3_READ_BYTES:tlsv1 alert protocol version Tu as raison, les protocoles SSL2 et 3 ne sont plus utilisés (on dit dans la doc : "SSLv2 and SSLv3 are refused completely since curl 7.77.0 ") J'ai fait des tests avec - je crois - tous les protocoles possibles.. Voici ma requête : if(curl) { curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_DEFAULT); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl, CURLOPT_COOKIE, SMFCOOkie89); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); curl_easy_setopt(curl, CURLOPT_URL, url_epreuve); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer); res = curl_easy_perform(curl); ... } PS : j'utilise la dernière version curl-7.76.1-win32-mingw jfcl1 Titre: Re : Erreur de connexion à Newbie Contest avec libcurl/C++ Posté par: jfcl1 le 01 Juin 2021 à 19:36:07 OK j'ai compris !
Depuis les dernières versions, windows10 inclut curl. Il s'agit de curl 7.55 avec winSSL... J'avais installé et compilé avec curl-win32-minGW (OpenSSL) alors qu'à l'exécution windows10 lance par défaut sa version, ce qui ne se produisait pas précédemment. Donc solution : ajouter dans le path le lien vers le répertoire bin de curl-win32-minGW utilisé pour la compilation et LE PLACER AVANT LE CHEMIN VERS "c:/windows/system32" ou copier la bonne libcurl.dll dans le répertoire de l'exécutable, ou encore compiler avec l'option -static. Titre: Re : Erreur de connexion à Newbie Contest avec libcurl/C++ Posté par: the lsd le 07 Juin 2021 à 13:08:52 Ah oui ! C'est un tricks bon à savoir ! GG pour avoir trouvé
Enjoy The lsd Titre: Re : Erreur de connexion à Newbie Contest avec libcurl/C++ Posté par: Alfiory le 06 Août 2021 à 08:48:55 Quelle idée d'être sur Windows aussi... :/
Trollement, Alfio. |