]> Cypherpunks.ru repositories - gostls13.git/commit
crypto/tls: implement TLS 1.3 client handshake (base)
authorFilippo Valsorda <filippo@golang.org>
Thu, 1 Nov 2018 05:01:09 +0000 (01:01 -0400)
committerFilippo Valsorda <filippo@golang.org>
Fri, 2 Nov 2018 22:07:02 +0000 (22:07 +0000)
commit4caa1276a1a184edf0ba8027619ecfe71e8c0804
tree1dd3c2fe76b041cfae88c288fb399276e995cd66
parentee7e443389f7c8aabc58d49e42880b96f0955361
crypto/tls: implement TLS 1.3 client handshake (base)

Implement a basic TLS 1.3 client handshake, only enabled if explicitly
requested with MaxVersion.

This CL intentionally leaves for future CLs:
  - PSK modes and resumption
  - client authentication
  - post-handshake messages
  - downgrade protection
  - KeyLogWriter support

Updates #9671

Change-Id: Ieb6130fb6f25aea4f0d39e3a2448dfc942e1de7a
Reviewed-on: https://go-review.googlesource.com/c/146559
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Adam Langley <agl@golang.org>
25 files changed:
src/crypto/tls/alert.go
src/crypto/tls/auth.go
src/crypto/tls/cipher_suites.go
src/crypto/tls/common.go
src/crypto/tls/conn.go
src/crypto/tls/handshake_client.go
src/crypto/tls/handshake_client_test.go
src/crypto/tls/handshake_client_tls13.go [new file with mode: 0644]
src/crypto/tls/handshake_messages.go
src/crypto/tls/handshake_server_test.go
src/crypto/tls/key_agreement.go
src/crypto/tls/key_schedule.go
src/crypto/tls/prf.go
src/crypto/tls/testdata/Client-TLSv12-P256-ECDHE [new file with mode: 0644]
src/crypto/tls/testdata/Client-TLSv12-X25519-ECDHE [moved from src/crypto/tls/testdata/Client-TLSv12-X25519-ECDHE-RSA-AES-GCM with 100% similarity]
src/crypto/tls/testdata/Client-TLSv13-AES128-SHA256 [new file with mode: 0644]
src/crypto/tls/testdata/Client-TLSv13-AES256-SHA384 [new file with mode: 0644]
src/crypto/tls/testdata/Client-TLSv13-ALPN [new file with mode: 0644]
src/crypto/tls/testdata/Client-TLSv13-CHACHA20-SHA256 [new file with mode: 0644]
src/crypto/tls/testdata/Client-TLSv13-ECDSA [new file with mode: 0644]
src/crypto/tls/testdata/Client-TLSv13-ExportKeyingMaterial [new file with mode: 0644]
src/crypto/tls/testdata/Client-TLSv13-HelloRetryRequest [new file with mode: 0644]
src/crypto/tls/testdata/Client-TLSv13-P256-ECDHE [new file with mode: 0644]
src/crypto/tls/testdata/Client-TLSv13-RenegotiationRejected [new file with mode: 0644]
src/crypto/tls/testdata/Client-TLSv13-X25519-ECDHE [new file with mode: 0644]