Hello, I have built CURL (Version: 7.54.0) with SSL.
Below is configure command: *./configure --prefix=$(INSTALL_DIR) --enable-http --with-ssl=<OpenSSL Install Dir> --enable-cookies --enable-shared=yes --enable-static=no --without-zlib --disable-gssapi --disable-ldap --disable-ldaps --disable-unix-sockets --disable-rtsp* The built library does not show any dependency on libssl/libcrypto *>ldd libcurl.so.4* *libcurl.so.4 needs:* * /usr/lib/libc.a(shr_64.o)* * /unix* * /usr/lib/libcrypt.a(shr_64.o)* When I use this library in my application, I see below error: *OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 10.193.70.82:443 <http://10.193.70.82:443>* Curl response code for above error is *CURLE_SSL_CONNECT_ERROR (35)* Below is the curl debug log for HTTP & HTTPS: ---------------------------------------------------------------------------------------------------------------------------------------------- ** Trying 10.193.70.83...* ** TCP_NODELAY set* ** Connected to 10.193.70.83 (10.193.70.83) port 443 (#0)* ** Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH* ** OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 10.193.70.83:443 <http://10.193.70.83:443>* ** Closing connection 0* ** Trying 10.193.70.82...* ** TCP_NODELAY set* ** Connected to 10.193.70.82 (10.193.70.82) port 443 (#0)* ** Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH* ** successfully set certificate verify locations:* ** CAfile: /home/rahul/tcpdump/ExportedCertificate_7_14_2017.pem* * CApath: none* ** OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 10.193.70.82:443 <http://10.193.70.82:443>* ** Closing connection 0* ---------------------------------------------------------------------------------------------------------------------------------------------- Same works fine on Linux & Solaris, for both HTTP as well as HTTPS. Questions which I have are 1. Am I missing anything here ? 2. Is the library correctly linked with OpenSSL ? When I use the libcurl compiled without SSL (option --without-ssl) and try to use HTTPS, I get below error: *Protocol "https" not supported or disabled in libcurl* Looking at the above error I am assuming right now that libcurl is linked to OpenSSL. Is that correct ? 3. Is any system configuration causing this problem ? I tried this on two systems with same error. Below is the related code snippet: ------------------------------------------------------------------------------------ *curl = curl_easy_init();* *curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);* *curl_easy_setopt(curl, CURLOPT_URL, url);* *....* *....* *// HTTPS* *if ( secure ) {* * curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, 1L);* * if ( server_certificate_validate ) {* * curl_easy_setopt(curl, CURLOPT_CAINFO, server_certificate_path);* * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1L);* * } else* * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);* * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);* *}* **curl_response_code = curl_easy_perform(curl);* ------------------------------------------------------------------------------------ Thanks, Rahul.
------------------------------------------------------------------- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.html
