Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Thursday, June 13, 2019
 
 

CURLOPT_SSL_CIPHER_LIST (3)

Name

CURLOPT_SSL_CIPHER_LIST - specify ciphers to use for TLS

Synopsis

#include <curl/curl.h>

CURLcode  curl_easy_setopt(CURL  *handle, CURLOPT_SSL_CIPHER_LIST, char
*list);

Description

curl_easy_setopt options                            CURLOPT_SSL_CIPHER_LIST(3)



NAME
       CURLOPT_SSL_CIPHER_LIST - specify ciphers to use for TLS

SYNOPSIS
       #include <curl/curl.h>

       CURLcode  curl_easy_setopt(CURL  *handle, CURLOPT_SSL_CIPHER_LIST, char
       *list);

DESCRIPTION
       Pass a char *, pointing to a zero terminated string holding the list of
       ciphers  to  use for the SSL connection. The list must be syntactically
       correct, it consists of one or more cipher strings separated by colons.
       Commas or spaces are also acceptable separators but colons are normally
       used, !, - and + can be used as operators.

       For  OpenSSL  and  GnuTLS  valid  examples  of  cipher  lists   include
       'RC4-SHA',  'SHA1+DES', 'TLSv1' and 'DEFAULT'. The default list is nor-
       mally set when you compile OpenSSL.

       You'll find more details about cipher lists on this URL:

        https://curl.haxx.se/docs/ssl-ciphers.html

       For NSS, valid examples  of  cipher  lists  include  'rsa_rc4_128_md5',
       'rsa_aes_128_sha',  etc.  With NSS you don't add/remove ciphers. If one
       uses this option then all known ciphers are  disabled  and  only  those
       passed in are enabled.

       For  WolfSSL,  valid  examples  of  cipher  lists  include  'ECDHE-RSA-
       RC4-SHA', 'AES256-SHA:AES256-SHA256', etc.

       The application does not have to keep the string around  after  setting
       this option.

DEFAULT
       NULL, use internal default

PROTOCOLS
       All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl) {
         curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
         curl_easy_setopt(curl, CURLOPT_SSL_CIPHER_LIST, "TLSv1");
         ret = curl_easy_perform(curl);
         curl_easy_cleanup(curl);
       }

AVAILABILITY
       If built TLS enabled.

RETURN VALUE
       Returns  CURLE_OK  if TLS is supported, CURLE_UNKNOWN_OPTION if not, or
       CURLE_OUT_OF_MEMORY if there was insufficient heap space.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | web/curl         |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+
SEE ALSO
       CURLOPT_TLS13_CIPHERS(3),          CURLOPT_SSLVERSION(3),          CUR-
       LOPT_PROXY_SSL_CIPHER_LIST(3),   CURLOPT_PROXY_TLS13_CIPHERS(3),   CUR-
       LOPT_USE_SSL(3),



NOTES
       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source   was    downloaded    from     https://github.com/curl/curl/ar-
       chive/curl-7_64_0.zip

       Further information about this software can be found on the open source
       community website at http://curl.haxx.se/.



libcurl 7.37.0                    17 Jun 2014
                                                    CURLOPT_SSL_CIPHER_LIST(3)