Files
Rushil Mehra d274b1bacd Add ECH fallback API
This commit solves
https://bugs.chromium.org/p/boringssl/issues/detail?id=714. To
summarize, there are cases where servers will advertise ECH on hostnames
that may, in practice, be unable to actually negotiate e.g. TLS 1.3. To
gracefully handle this case, this commit adds a new return value for the
select_cert_cb that signals to the server that ECH must be disabled. To
accomplish this, we slightly rewind the state machine to instead
handshake with ClientHelloOuter, and clear ech_keys on the handshake
state such that the server hello does not include any retry_configs in
EncryptedExtensions. Clients will take this as a signal that ECH is
disabled on the hostname, and that they should instead handshake without
ECH.

Bug: 42290593
Change-Id: I1806ba052ffbc3e5c46161a1596d125cc5e5a8fc
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/69087
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: Bob Beck <bbe@google.com>
Reviewed-by: Bob Beck <bbe@google.com>
2024-07-16 19:53:12 +00:00
..
2016-08-03 21:37:31 +00:00
2019-01-03 21:46:45 +00:00
2023-12-18 18:59:54 +00:00
2015-05-12 00:09:57 +00:00
2019-01-03 21:46:45 +00:00
2018-09-06 20:07:52 +00:00
2023-12-18 15:58:32 +00:00
2024-06-21 04:01:30 +00:00
2023-03-15 22:55:24 +00:00
2024-01-25 20:34:23 +00:00
2024-03-19 06:08:51 +00:00
2015-05-08 18:02:02 +00:00
2018-05-08 01:32:14 +00:00
2023-07-11 19:05:08 +00:00
2019-04-17 20:57:57 +00:00
2024-03-21 03:34:31 +00:00
2022-08-13 16:07:16 +00:00
2023-08-15 23:44:29 +00:00
2021-07-15 19:18:41 +00:00
2021-06-22 22:45:22 +00:00
2023-10-05 19:10:54 +00:00
2023-11-29 21:55:48 +00:00
2019-07-10 21:14:32 +00:00
2024-05-29 16:47:59 +00:00
2015-09-14 23:59:37 +00:00
2024-07-16 19:53:12 +00:00
2024-04-11 19:08:45 +00:00
2021-10-05 17:57:43 +00:00
2024-01-13 23:57:30 +00:00