CURLpp: TLS Erreur de handshake
Question
Cette question est similaire à un autre concernant pycurl
Je l'erreur suivante lorsque j'envoie une demande de poste à une URL sécurisée, en utilisant CURLpp https://stackoverflow.com/questions/1942719/pycurl-tls-handshake-error
Ok, donc en fonction de la réponse à la précédente question, je devrais utiliser libcurl avec openSSL. Si je cours curl -v
, je reçois ceci:
curl 7.19.7 (i486-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
Je devrais utiliser OpenSSL, et ne pas voir gnutls. Donc, si je tente d'envoyer la même demande par boucle directement avec la ligne de commande, il fonctionne très bien, et je vois sur la sortie commande le résultat que je me attends.
Il se trouve quand je passe à CURLpp, il utilise gnutls, au lieu de OpenSSL. Y at-il quelque chose que je dois configurer, afin de préciser que je veux OpenSSL avec CURLpp?
La solution
cURLpp est juste une enveloppe sur libcURL, il ne dicte pas qui utilise la mise en œuvre SSL libcURL.
Je ne suis pas exactement comment vous êtes à la conclusion de when I switch to CURLpp, it uses gnuTLS, instead of openSSL
mais je soupçonne que vous avez plusieurs libcurl.so installé, les usages et une papillotes autre que votre application utilise (via cURLpp).
Comme une note de côté, le TLS fatal alert ... received
(mentionné dans la question liée) était probablement le résultat d'un défaut de configuration du côté serveur (invalide servername l'extension TLS, échec de la négociation chiffrements, etc.).