Alternative TLS implementation in Go
Go to file
Filippo Valsorda 7743362eba [dev.tls] crypto/tls: implement TLS 1.3 record layer
Opening the 1.3 dances with the record layer because it has been the
most stable through the drafts, has the least dependencies, and has been
tricky in my experience.

Note that the record layer version check is entirely removed according
to https://tools.ietf.org/html/draft-ietf-tls-tls13-18#appendix-C.2.

A test that happened to hit that check (but was not made to test for it)
has changed to the next error in the stack.

There are no 1.3 tests at the moment, and I suspect they will all have to
wait for the patch cycle to reach interoperability.

Using > / <= VersionTLS13 for all conditionals to transparently support
draft versions and hypotetical future versions.

See https://tools.ietf.org/html/draft-ietf-tls-tls13-18#section-5.

Updates #9671

Change-Id: I97f0a59439728f194a1c50b48cff041469a0f00b
2017-09-05 20:27:04 +01:00
testdata crypto/tls: enable ChaCha20-Poly1305 cipher suites by default. 2016-10-18 06:54:30 +00:00
alert.go crypto/tls: switch to OpenSSL 1.1.0 for test data. 2016-10-12 17:03:46 +00:00
cipher_suites.go crypto/tls: disable CBC cipher suites with SHA-256 by default 2017-01-17 16:41:09 +00:00
common.go [dev.tls] crypto/tls: implement TLS 1.3 record layer 2017-09-05 20:27:04 +01:00
conn_test.go crypto/tls: use io.ReadFull in conn_test.go 2017-02-24 02:36:10 +00:00
conn.go [dev.tls] crypto/tls: implement TLS 1.3 record layer 2017-09-05 20:27:04 +01:00
example_test.go crypto/tls: add example for Config KeyLogWriter 2016-11-17 03:24:31 +00:00
generate_cert.go crypto/tls: recommend P256 elliptic curve 2017-04-10 17:40:01 +00:00
handshake_client_test.go cmd/gofmt, crypto/tls: fix typos 2016-11-11 16:42:40 +00:00
handshake_client.go crypto/tls: reject SNI values with a trailing dot. 2017-02-01 21:59:57 +00:00
handshake_messages_test.go crypto/tls: reject SNI values with a trailing dot. 2017-02-01 21:59:57 +00:00
handshake_messages.go crypto/tls: reject SNI values with a trailing dot. 2017-02-01 21:59:57 +00:00
handshake_server_test.go [dev.tls] crypto/tls: implement TLS 1.3 record layer 2017-09-05 20:27:04 +01:00
handshake_server.go crypto/tls: pass argument to serverInit rather than using a field in Config. 2017-05-16 18:23:28 +00:00
handshake_test.go crypto/tls: switch to OpenSSL 1.1.0 for test data. 2016-10-12 17:03:46 +00:00
key_agreement.go crypto/tls: support X25519. 2016-10-12 17:04:28 +00:00
prf_test.go crypto/tls: decouple handshake signatures from the handshake hash. 2015-04-30 03:47:02 +00:00
prf.go all: standardize RFC mention format 2016-04-12 21:07:52 +00:00
ticket.go crypto/tls: minor refactors for readability 2016-03-14 21:17:37 +00:00
tls_test.go crypto/tls: make Config.Clone also clone the GetClientCertificate field 2017-03-02 19:43:07 +00:00
tls.go crypto/tls: disable CBC cipher suites with SHA-256 by default 2017-01-17 16:41:09 +00:00