|
NAMECURLOPT_ECH - configuration for Encrypted Client Hello SYNOPSIS#include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ECH, char *config); DESCRIPTIONECH is only compatible with TLSv1.3. This experimental feature requires a special build of OpenSSL, as ECH is not yet supported in OpenSSL releases. In contrast ECH is supported by the latest BoringSSL, wolfSSL and rustls-ffi releases. There is also a known issue with using wolfSSL which does not support ECH when the HelloRetryRequest mechanism is used. Pass a string that specifies configuration details for ECH. In all cases, if ECH is attempted, it may fail for various reasons. The keywords supported are:
The application does not have to keep the string around after setting this option. Using this option multiple times makes the last set string override the previous ones. Set it to NULL or "false" to disable its use again. DEFAULTNULL, meaning ECH is disabled. PROTOCOLSThis functionality affects all TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. This option works only with the following TLS backends: OpenSSL, rustls and wolfSSL EXAMPLEint main(void)
{
AVAILABILITYAdded in curl 8.8.0 RETURN VALUEcurl_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 ALSOCURLOPT_DOH_URL(3)
|