1---
2c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
3SPDX-License-Identifier: curl
4Title: CURLOPT_PROXY_TLS13_CIPHERS
5Section: 3
6Source: libcurl
7See-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)
13Protocol:
14  - TLS
15TLS-backend:
16  - OpenSSL
17  - Schannel
18---
19
20# NAME
21
22CURLOPT_PROXY_TLS13_CIPHERS - ciphers suites for proxy TLS 1.3
23
24# SYNOPSIS
25
26~~~c
27#include <curl/curl.h>
28
29CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLS13_CIPHERS,
30                          char *list);
31~~~
32
33# DESCRIPTION
34
35Pass a char pointer, pointing to a null-terminated string holding the list of
36cipher suites to use for the TLS 1.3 connection to a proxy. The list must be
37syntactically correct, it consists of one or more cipher suite strings
38separated by colons.
39
40Find more details about cipher lists on this URL:
41
42 https://curl.se/docs/ssl-ciphers.html
43
44This option is currently used only when curl is built to use OpenSSL 1.1.1 or
45later. If you are using a different SSL backend you can try setting TLS 1.3
46cipher suites by using the CURLOPT_PROXY_SSL_CIPHER_LIST(3) option.
47
48The application does not have to keep the string around after setting this
49option.
50
51# DEFAULT
52
53NULL, use internal default
54
55# EXAMPLE
56
57~~~c
58int main(void)
59{
60  CURL *curl = curl_easy_init();
61  if(curl) {
62    CURLcode res;
63    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
64    curl_easy_setopt(curl, CURLOPT_PROXY_TLS13_CIPHERS,
65                     "TLS_CHACHA20_POLY1305_SHA256");
66    res = curl_easy_perform(curl);
67    curl_easy_cleanup(curl);
68  }
69}
70~~~
71
72# AVAILABILITY
73
74Added in 7.61.0.
75Available when built with OpenSSL \>= 1.1.1.
76
77# RETURN VALUE
78
79Returns CURLE_OK if supported, CURLE_NOT_BUILT_IN otherwise.
80