mirror of
https://github.com/refraction-networking/utls.git
synced 2025-04-03 20:17:36 +03:00
Fork of the Go standard TLS library, providing low-level access to the ClientHello for mimicry purposes.
anticensorshipcipher-suitesclienthellocryptogolanghandshakelow-level-tlsobfuscationparrottlstls-extension
We use crypto/internal/edwards25519/field to implement X25519 directly, so that golang.org/x/crypto/curve25519 can be dropped from the src module dependencies, and eventually replaced with a crypto/ecdh wrapper, removing the need to keep golang.org/x/crypto/curve25519/internal/field in sync with crypto/internal/edwards25519/field. In crypto/internal/nistec, we add BytesX to serialize only the x coordinate, which we'll need for the horrible ECDSA x-coord-to-scalar operation, too. In crypto/tls, we replace the ECDHE implementation with crypto/ecdh, dropping the X25519 special cases and related scaffolding. Finally, FINALLY, we deprecate the ~white whale~ big.Int-based APIs of the crypto/elliptic package. •_•) ( •_•)>⌐■-■ (⌐■_■) Fixes #52182 Fixes #34648 Fixes #52221 Change-Id: Iccdda210319cc892e96bb28a0e7b7123551982c7 Reviewed-on: https://go-review.googlesource.com/c/go/+/398914 Reviewed-by: Fernando Lobato Meeser <felobato@google.com> Reviewed-by: Roland Shoemaker <roland@golang.org> Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> |
||
---|---|---|
fipsonly | ||
testdata | ||
alert.go | ||
auth.go | ||
auth_test.go | ||
boring.go | ||
boring_test.go | ||
cipher_suites.go | ||
common.go | ||
common_string.go | ||
conn.go | ||
conn_test.go | ||
example_test.go | ||
generate_cert.go | ||
handshake_client.go | ||
handshake_client_test.go | ||
handshake_client_tls13.go | ||
handshake_messages.go | ||
handshake_messages_test.go | ||
handshake_server.go | ||
handshake_server_test.go | ||
handshake_server_tls13.go | ||
handshake_test.go | ||
handshake_unix_test.go | ||
key_agreement.go | ||
key_schedule.go | ||
key_schedule_test.go | ||
link_test.go | ||
notboring.go | ||
prf.go | ||
prf_test.go | ||
ticket.go | ||
tls.go | ||
tls_test.go |