quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

CURLOPT_PROXY_TLS13_CIPHERS.md (2443B)


      1 ---
      2 c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
      3 SPDX-License-Identifier: curl
      4 Title: CURLOPT_PROXY_TLS13_CIPHERS
      5 Section: 3
      6 Source: libcurl
      7 See-also:
      8   - CURLOPT_PROXY_SSLVERSION (3)
      9   - CURLOPT_PROXY_SSL_CIPHER_LIST (3)
     10   - CURLOPT_SSLVERSION (3)
     11   - CURLOPT_SSL_CIPHER_LIST (3)
     12   - CURLOPT_TLS13_CIPHERS (3)
     13 Protocol:
     14   - TLS
     15 TLS-backend:
     16   - OpenSSL
     17   - wolfSSL
     18   - mbedTLS
     19   - rustls
     20 Added-in: 7.61.0
     21 ---
     22 
     23 # NAME
     24 
     25 CURLOPT_PROXY_TLS13_CIPHERS - ciphers suites for proxy TLS 1.3
     26 
     27 # SYNOPSIS
     28 
     29 ~~~c
     30 #include <curl/curl.h>
     31 
     32 CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLS13_CIPHERS,
     33                           char *list);
     34 ~~~
     35 
     36 # DESCRIPTION
     37 
     38 Pass a char pointer, pointing to a null-terminated string holding the list of
     39 cipher suites to use for the TLS 1.3 connection to a proxy. The list must be
     40 syntactically correct, it consists of one or more cipher suite strings
     41 separated by colons.
     42 
     43 For setting TLS 1.2 (1.1, 1.0) ciphers see CURLOPT_PROXY_SSL_CIPHER_LIST(3).
     44 
     45 A valid example of a cipher list is:
     46 ~~~
     47 "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256"
     48 ~~~
     49 
     50 Find more details about cipher lists on this URL:
     51 
     52  https://curl.se/docs/ssl-ciphers.html
     53 
     54 The application does not have to keep the string around after setting this
     55 option.
     56 
     57 Using this option multiple times makes the last set string override the
     58 previous ones. Set it to NULL to disable its use again.
     59 
     60 # DEFAULT
     61 
     62 NULL, use internal built-in list
     63 
     64 # %PROTOCOLS%
     65 
     66 # EXAMPLE
     67 
     68 ~~~c
     69 int main(void)
     70 {
     71   CURL *curl = curl_easy_init();
     72   if(curl) {
     73     CURLcode res;
     74     curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
     75     curl_easy_setopt(curl, CURLOPT_PROXY_TLS13_CIPHERS,
     76                      "TLS_CHACHA20_POLY1305_SHA256");
     77     res = curl_easy_perform(curl);
     78     curl_easy_cleanup(curl);
     79   }
     80 }
     81 ~~~
     82 
     83 # HISTORY
     84 
     85 OpenSSL support added in 7.61.0, available when built with OpenSSL \>= 1.1.1.
     86 LibreSSL support added in 8.3.0, available when built with LibreSSL \>= 3.4.1.
     87 wolfSSL support added in 8.10.0.
     88 mbedTLS support added in 8.10.0, available when built with mbedTLS \>= 3.6.0.
     89 Rustls support added in 8.10.0.
     90 
     91 Before curl 8.10.0 with mbedTLS or wolfSSL, TLS 1.3 cipher suites were set
     92 by using the CURLOPT_PROXY_SSL_CIPHER_LIST(3) option.
     93 
     94 # %AVAILABILITY%
     95 
     96 # RETURN VALUE
     97 
     98 curl_easy_setopt(3) returns a CURLcode indicating success or error.
     99 
    100 CURLE_OK (0) means everything was OK, non-zero means an error occurred, see
    101 libcurl-errors(3).