1
0
mirror of https://github.com/golang/go synced 2024-11-26 13:28:27 -07:00
go/api/next
Roland Shoemaker f69711434a crypto/tls: add server-side ECH
Adds support for server-side ECH.

We make a couple of implementation decisions that are not completely
in-line with the spec. In particular, we don't enforce that the SNI
matches the ECHConfig public_name, and we implement a hybrid
shared/backend mode (rather than shared or split mode, as described in
Section 7). Both of these match the behavior of BoringSSL.

The hybrid server mode will either act as a shared mode server, where-in
the server accepts "outer" client hellos and unwraps them before
processing the "inner" hello, or accepts bare "inner" hellos initially.
This lets the server operate either transparently as a shared mode
server, or a backend server, in Section 7 terminology. This seems like
the best implementation choice for a TLS library.

Fixes #68500

Change-Id: Ife69db7c1886610742e95e76b0ca92587e6d7ed4
Reviewed-on: https://go-review.googlesource.com/c/go/+/623576
Reviewed-by: Filippo Valsorda <filippo@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
Auto-Submit: Roland Shoemaker <roland@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-11-21 22:50:04 +00:00
..
32936.txt
36532.txt
51473.txt
54670.txt
61515.txt
61901.txt
62005.txt log/slog: add DiscardHandler 2024-11-14 22:27:09 +00:00
62384.txt
62516.txt
63952.txt debug/elf: add SHT_GNU_VERDEF section parsing 2024-11-07 15:23:24 +00:00
66450.txt crypto/subtle: add DIT closure 2024-11-19 16:47:03 +00:00
66626.txt
67002.txt os: add OpenInRoot 2024-11-20 23:21:51 +00:00
67057.txt crypto/rand: add Text for secure random strings 2024-11-21 22:39:37 +00:00
67535.txt runtime: implement AddCleanup 2024-11-16 03:26:04 +00:00
67552.txt weak: move internal/weak to weak, and update according to proposal 2024-11-18 22:29:23 +00:00
67813.txt
67814.txt
68500.txt crypto/tls: add server-side ECH 2024-11-21 22:50:04 +00:00
69488.txt crypto/pbkdf2: init package 2024-11-21 20:38:05 +00:00
69981.txt crypto/cipher: add NewGCMWithRandomNonce 2024-11-19 16:26:40 +00:00