xref: /curl/docs/cmdline-opts/ech.md (revision 948a2b24)
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" (default)
24
25Do not attempt ECH
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.
39ECH only works with TLS 1.3 and also requires using
40DoH or providing an ECHConfigList on the command line.
41
42## "ecl:<b64val>"
43
44A base64 encoded ECHConfigList that is used for ECH.
45
46## "pn:<name>"
47
48A name to use to over-ride the `public_name` field of an ECHConfigList
49(only available with OpenSSL TLS support)
50
51## Errors
52
53Most errors cause error
54*CURLE_ECH_REQUIRED* (101).
55