Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CURLOPT_USE_SSL(3)	   Library Functions Manual	    CURLOPT_USE_SSL(3)

NAME
       CURLOPT_USE_SSL - request using SSL / TLS for the transfer

SYNOPSIS
       #include	<curl/curl.h>

       CURLcode	curl_easy_setopt(CURL *handle, CURLOPT_USE_SSL,	long level);

DESCRIPTION
       Pass  a	long  using  one of the	values from below, to make libcurl use
       your desired level of SSL for the transfer.

       These are all protocols that start out plain text and get "upgraded" to
       SSL using the STARTTLS command.

       This is for enabling SSL/TLS when you use FTP, SMTP, POP3, IMAP etc.

       CURLUSESSL_NONE
	      Do not attempt to	use SSL.

       CURLUSESSL_TRY
	      Try using	SSL, proceed as	normal otherwise. Note that server may
	      close the	connection if the negotiation fails. This level	is in-
	      secure and should	be avoided since it allows the	connection  to
	      remain unprotected.

       CURLUSESSL_CONTROL
	      Require	SSL   for   the	  control   connection	or  fail  with
	      CURLE_USE_SSL_FAILED.  This  level  is  partially	 insecure  and
	      should  be  avoided since	it lets	the data connection remain un-
	      protected.

	      This level is meant for FTP, since that  is  the	only  protocol
	      with  separate  connections  for	control	 and data. If used for
	      IMAP, POP3 or SMTP it equals CURLUSESSL_ALL.

       CURLUSESSL_ALL
	      Require	SSL   for   all	   communication    or	  fail	  with
	      CURLE_USE_SSL_FAILED.

DEFAULT
       CURLUSESSL_NONE

PROTOCOLS
       This functionality affects ftp, imap, pop3 and smtp

EXAMPLE
       int main(void)
       {
	 CURL *curl = curl_easy_init();
	 if(curl) {
	   CURLcode result;
	   curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/dir/file.ext");

	   /* require use of SSL for this, or fail */
	   curl_easy_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_ALL);

	   /* Perform the request */
	   result = curl_easy_perform(curl);
	   curl_easy_cleanup(curl);
	 }
       }

HISTORY
       This  option  was  known	 as CURLOPT_FTP_SSL up to 7.16.4. Supported by
       LDAP since 7.81.0. Fully	supported by the OpenLDAP backend only.

       CURLUSESSL_* enums became long types in 8.13.0, prior to	this version a
       long cast was necessary when passed to curl_easy_setopt(3).

AVAILABILITY
       Added in	curl 7.17.0

RETURN VALUE
       curl_easy_setopt(3) returns a CURLcode indicating success or error.

       CURLE_OK	(0) means everything was OK, non-zero means an error occurred,
       see libcurl-errors(3).

SEE ALSO
       CURLOPT_PROXY_SSLVERSION(3),   CURLOPT_SSLVERSION(3),   CURLOPT_SSL_OP-
       TIONS(3)

libcurl				  2026-06-11		    CURLOPT_USE_SSL(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=CURLOPT_USE_SSL&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help