xref: /curl/docs/cmdline-opts/ech.md (revision f4ee7baf)
1---
2c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
3SPDX-License-Identifier: curl
4Long: ech
5Arg: <config>
6Help: Configure ECH
7Added: 8.8.0
8Category: tls
9Protocols: HTTPS
10Multi: single
11See-also:
12  - doh-url
13Example:
14  - --ech true $URL
15---
16
17# `--ech`
18
19Specifies how to do ECH (Encrypted Client Hello).
20
21The values allowed for \<config\> can be:
22
23## `false`
24
25Do not attempt ECH. The is the default.
26
27## `grease`
28
29Send a GREASE ECH extension
30
31## `true`
32
33Attempt ECH if possible, but do not fail if ECH is not attempted.
34(The connection fails if ECH is attempted but fails.)
35
36## `hard`
37
38Attempt ECH and fail if that is not possible. ECH only works with TLS 1.3 and
39also requires using DoH or providing an ECHConfigList on the command line.
40
41## `ecl:<b64val>`
42
43A base64 encoded ECHConfigList that is used for ECH.
44
45## `pn:<name>`
46
47A name to use to over-ride the `public_name` field of an ECHConfigList (only
48available with OpenSSL TLS support)
49
50##
51
52Most ECH related errors cause error *CURLE_ECH_REQUIRED* (101).
53