Errore TLS Stretta di mano: CURLpp
Domanda
Questa domanda è simile ad un altro uno, riguardante pycurl
ho il seguente errore quando si invia una richiesta POST a un URL sicuro, utilizzando CURLpp https://stackoverflow.com/questions/1942719/pycurl-tls-handshake-error
Ok, quindi in base alla risposta alla precedente domanda , dovrei usare libcurl con openSSL. Se corro curl -v
, ottengo questo:
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
Quindi dovrei usare openSSL, e non vedo gnutls. Quindi, se provo a trasmettere la stessa richiesta attraverso il ricciolo direttamente con la riga di comando, funziona benissimo, e vedo sull'uscita di comando il risultato che mi aspetto.
Così si scopre quando passo a CURLpp, utilizza gnutls, invece di OpenSSL. C'è qualcosa che devo configurare, al fine di precisare che voglio openSSL con CURLpp?
Soluzione
cURLpp è solo un wrapper sopra libcurl, non dettare quali SSL utilizza implementazione libcurl.
Non sono esattamente sicuro di come siete arrivati ??alla conclusione when I switch to CURLpp, it uses gnuTLS, instead of openSSL
ma ho il sospetto che avete libcurl.so Installazione di più, quella usi curl e un altro che la vostra applicazione sta usando (via cURLpp).
Come nota a margine, il TLS fatal alert ... received
(di cui la questione legata) era probabilmente il risultato di un errore di configurazione sul lato server (non valida nomeserver estensione TLS, il fallimento di negoziare cifrari, ecc).