curl/docs/cmdline-opts/ech.md
Stephen Farrell a362962b72
TLS: add support for ECH (Encrypted Client Hello)
An EXPERIMENTAL feature used with CURLOPT_ECH and --ech.

Closes #11922
2024-04-16 08:10:53 +02:00

1.0 KiB

c SPDX-License-Identifier Long Arg Help Added Category Protocols Multi See-also Example
Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. curl ech <config> Configure Encrypted Client Hello (ECH) for use with the TLS session 8.8.0 tls ECH HTTPS single
doh-url
--ech true $URL

--ech

Specifies how to do ECH (Encrypted Client Hello).

The values allowed for <config> can be:

"false"

Do not attempt ECH

"grease"

Send a GREASE ECH extension

"true"

Attempt ECH if possible, but do not fail if ECH is not attempted. (The connection fails if ECH is attempted but fails.)

"hard"

Attempt ECH and fail if that is not possible. ECH only works with TLS 1.3 and also requires using DoH or providing an ECHConfigList on the command line.

"ecl:"

A base64 encoded ECHConfigList that is used for ECH.

"pn:"

A name to use to over-ride the public_name field of an ECHConfigList (only available with OpenSSL TLS support)

Errors

Most errors cause error CURLE_ECH_REQUIRED (101).