Fork of the Go standard TLS library, providing low-level access to the ClientHello for mimicry purposes.
Find a file
Filippo Valsorda 77ea502eee crypto/tls: implement X25519MLKEM768
This makes three related changes that work particularly well together
and would require significant extra work to do separately: it replaces
X25519Kyber768Draft00 with X25519MLKEM768, it makes CurvePreferences
ordering crypto/tls-selected, and applies a preference to PQ key
exchange methods over key shares (to mitigate downgrades).

TestHandshakeServerUnsupportedKeyShare was removed because we are not
rejecting unsupported key shares anymore (nor do we select them, and
rejecting them actively is a MAY). It would have been nice to keep the
test to check we still continue successfully, but testClientHelloFailure
is broken in the face of any server-side behavior which requires writing
any other messages back to the client, or reading them.

Updates #69985
Fixes #69393

Change-Id: I58de76f5b8742a9bd4543fd7907c48e038507b19
Reviewed-on: https://go-review.googlesource.com/c/go/+/630775
Reviewed-by: Roland Shoemaker <roland@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Filippo Valsorda <filippo@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2024-11-22 04:03:12 +00:00
fipsonly crypto/tls: FIPS 140-3 mode 2024-11-21 16:34:27 +00:00
internal/fips140tls crypto/tls: FIPS 140-3 mode 2024-11-21 16:34:27 +00:00
testdata crypto/ecdsa: implement deterministic and hedged signatures 2024-11-19 23:02:26 +00:00
alert.go crypto/tls: add ech client support 2024-05-23 03:10:12 +00:00
auth.go crypto/tls: FIPS 140-3 mode 2024-11-21 16:34:27 +00:00
auth_test.go crypto/tls: test with FIPS 140-3 TLS mode 2024-11-22 00:00:26 +00:00
bogo_config.json crypto/tls: implement X25519MLKEM768 2024-11-22 04:03:12 +00:00
bogo_shim_test.go crypto/tls: implement X25519MLKEM768 2024-11-22 04:03:12 +00:00
cache.go crypto/tls: use SessionState on the client side 2023-05-24 23:56:41 +00:00
cache_test.go crypto/tls: add a certificate cache implementation 2022-11-07 19:46:27 +00:00
cipher_suites.go all: rename crypto/internal/fips to crypto/internal/fips140 2024-11-20 20:28:34 +00:00
common.go crypto/tls: implement X25519MLKEM768 2024-11-22 04:03:12 +00:00
common_string.go crypto/tls: implement X25519MLKEM768 2024-11-22 04:03:12 +00:00
conn.go crypto/tls: add ech client support 2024-05-23 03:10:12 +00:00
conn_test.go crypto/tls: test with FIPS 140-3 TLS mode 2024-11-22 00:00:26 +00:00
defaults.go crypto/tls: implement X25519MLKEM768 2024-11-22 04:03:12 +00:00
ech.go crypto/tls: add server-side ECH 2024-11-21 22:50:04 +00:00
ech_test.go crypto/tls: add ech client support 2024-05-23 03:10:12 +00:00
example_test.go all: make use of builtin clear 2024-03-27 18:23:49 +00:00
fips_test.go crypto/tls: implement X25519MLKEM768 2024-11-22 04:03:12 +00:00
generate_cert.go crypto/tls: delete unnecessary line of return 2022-08-08 15:22:02 +00:00
handshake_client.go crypto/tls: implement X25519MLKEM768 2024-11-22 04:03:12 +00:00
handshake_client_test.go crypto/tls: test with FIPS 140-3 TLS mode 2024-11-22 00:00:26 +00:00
handshake_client_tls13.go crypto/tls: implement X25519MLKEM768 2024-11-22 04:03:12 +00:00
handshake_messages.go crypto/tls: add server-side ECH 2024-11-21 22:50:04 +00:00
handshake_messages_test.go crypto/tls: add server-side ECH 2024-11-21 22:50:04 +00:00
handshake_server.go crypto/tls: implement X25519MLKEM768 2024-11-22 04:03:12 +00:00
handshake_server_test.go crypto/tls: implement X25519MLKEM768 2024-11-22 04:03:12 +00:00
handshake_server_tls13.go crypto/tls: implement X25519MLKEM768 2024-11-22 04:03:12 +00:00
handshake_test.go crypto/tls: test with FIPS 140-3 TLS mode 2024-11-22 00:00:26 +00:00
handshake_unix_test.go all: use new "unix" build tag where appropriate 2022-03-29 16:24:51 +00:00
key_agreement.go crypto/tls: implement X25519Kyber768Draft00 2024-05-22 14:56:25 +00:00
key_schedule.go crypto/tls: implement X25519MLKEM768 2024-11-22 04:03:12 +00:00
key_schedule_test.go crypto/tls: implement X25519MLKEM768 2024-11-22 04:03:12 +00:00
link_test.go all: use ":" for compiler generated symbols 2022-08-09 11:28:56 +00:00
prf.go all: rename crypto/internal/fips to crypto/internal/fips140 2024-11-20 20:28:34 +00:00
prf_test.go crypto/tls: remove SSLv3 support 2019-08-27 22:24:05 +00:00
quic.go crypto/tls: fix typo in quicError 2024-08-14 18:08:03 +00:00
quic_test.go crypto/tls: apply QUIC session event flag to QUICResumeSession events 2024-06-25 17:08:08 +00:00
ticket.go crypto/tls: improved 0-RTT QUIC API 2024-05-22 17:23:54 +00:00
ticket_test.go crypto/tls: avoid referencing potentially unused symbols in init 2023-05-26 15:24:38 +00:00
tls.go net/http: check GetConfigForClient in server.ServeTLS 2024-06-07 17:57:01 +00:00
tls_test.go crypto/tls: implement X25519MLKEM768 2024-11-22 04:03:12 +00:00