]> Cypherpunks.ru repositories - gostls13.git/commit
crypto/tls: implement Extended Master Secret
authorFilippo Valsorda <filippo@golang.org>
Tue, 23 May 2023 23:55:45 +0000 (01:55 +0200)
committerGopher Robot <gobot@golang.org>
Thu, 25 May 2023 00:13:30 +0000 (00:13 +0000)
commit4406ed6d4ea90fe9489bd68c61d330a6d2378498
tree77f99c7d04d82c4987e99be236a3a85eb0e5ff03
parent869da4a2a48555d71f0298caba6385c4d10590ba
crypto/tls: implement Extended Master Secret

All OpenSSL tests now test operation with EMS. To test a handshake
*without* EMS we need to pass -Options=-ExtendedMasterSecret which is
only available in OpenSSL 3.1, which breaks a number of other tests.

Updates #43922

Change-Id: Ib9ac79a1d03fab6bfba5fe9cd66689cff661cda7
Reviewed-on: https://go-review.googlesource.com/c/go/+/497376
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Roland Shoemaker <roland@golang.org>
Auto-Submit: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Damien Neil <dneil@google.com>
121 files changed:
api/except.txt
src/crypto/tls/common.go
src/crypto/tls/conn.go
src/crypto/tls/handshake_client.go
src/crypto/tls/handshake_client_tls13.go
src/crypto/tls/handshake_messages.go
src/crypto/tls/handshake_messages_test.go
src/crypto/tls/handshake_server.go
src/crypto/tls/prf.go
src/crypto/tls/testdata/Client-TLSv10-ClientCert-ECDSA-ECDSA
src/crypto/tls/testdata/Client-TLSv10-ClientCert-ECDSA-RSA
src/crypto/tls/testdata/Client-TLSv10-ClientCert-RSA-ECDSA
src/crypto/tls/testdata/Client-TLSv10-ClientCert-RSA-RSA
src/crypto/tls/testdata/Client-TLSv10-ECDHE-ECDSA-AES
src/crypto/tls/testdata/Client-TLSv10-ECDHE-RSA-AES
src/crypto/tls/testdata/Client-TLSv10-ExportKeyingMaterial
src/crypto/tls/testdata/Client-TLSv10-RSA-RC4
src/crypto/tls/testdata/Client-TLSv11-ECDHE-ECDSA-AES
src/crypto/tls/testdata/Client-TLSv11-ECDHE-RSA-AES
src/crypto/tls/testdata/Client-TLSv11-RSA-RC4
src/crypto/tls/testdata/Client-TLSv12-AES128-GCM-SHA256
src/crypto/tls/testdata/Client-TLSv12-AES128-SHA256
src/crypto/tls/testdata/Client-TLSv12-AES256-GCM-SHA384
src/crypto/tls/testdata/Client-TLSv12-ALPN
src/crypto/tls/testdata/Client-TLSv12-ClientCert-ECDSA-ECDSA
src/crypto/tls/testdata/Client-TLSv12-ClientCert-ECDSA-RSA
src/crypto/tls/testdata/Client-TLSv12-ClientCert-Ed25519
src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-AES256-GCM-SHA384
src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-ECDSA
src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSA
src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPKCS1v15
src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPSS
src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES
src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES-GCM
src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES128-SHA256
src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES256-GCM-SHA384
src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-CHACHA20-POLY1305
src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-AES
src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-AES128-SHA256
src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-CHACHA20-POLY1305
src/crypto/tls/testdata/Client-TLSv12-Ed25519
src/crypto/tls/testdata/Client-TLSv12-ExportKeyingMaterial
src/crypto/tls/testdata/Client-TLSv12-P256-ECDHE
src/crypto/tls/testdata/Client-TLSv12-RSA-RC4
src/crypto/tls/testdata/Client-TLSv12-RenegotiateOnce
src/crypto/tls/testdata/Client-TLSv12-RenegotiateTwice
src/crypto/tls/testdata/Client-TLSv12-RenegotiateTwiceRejected
src/crypto/tls/testdata/Client-TLSv12-RenegotiationRejected
src/crypto/tls/testdata/Client-TLSv12-SCT
src/crypto/tls/testdata/Client-TLSv12-X25519-ECDHE
src/crypto/tls/testdata/Client-TLSv13-AES128-SHA256
src/crypto/tls/testdata/Client-TLSv13-AES256-SHA384
src/crypto/tls/testdata/Client-TLSv13-ALPN
src/crypto/tls/testdata/Client-TLSv13-CHACHA20-SHA256
src/crypto/tls/testdata/Client-TLSv13-ClientCert-ECDSA-RSA
src/crypto/tls/testdata/Client-TLSv13-ClientCert-Ed25519
src/crypto/tls/testdata/Client-TLSv13-ClientCert-RSA-ECDSA
src/crypto/tls/testdata/Client-TLSv13-ClientCert-RSA-RSAPSS
src/crypto/tls/testdata/Client-TLSv13-ECDSA
src/crypto/tls/testdata/Client-TLSv13-Ed25519
src/crypto/tls/testdata/Client-TLSv13-ExportKeyingMaterial
src/crypto/tls/testdata/Client-TLSv13-HelloRetryRequest
src/crypto/tls/testdata/Client-TLSv13-KeyUpdate
src/crypto/tls/testdata/Client-TLSv13-P256-ECDHE
src/crypto/tls/testdata/Client-TLSv13-X25519-ECDHE
src/crypto/tls/testdata/Server-TLSv10-ECDHE-ECDSA-AES
src/crypto/tls/testdata/Server-TLSv10-ExportKeyingMaterial
src/crypto/tls/testdata/Server-TLSv10-RSA-3DES
src/crypto/tls/testdata/Server-TLSv10-RSA-AES
src/crypto/tls/testdata/Server-TLSv10-RSA-RC4
src/crypto/tls/testdata/Server-TLSv11-RSA-RC4
src/crypto/tls/testdata/Server-TLSv12-ALPN
src/crypto/tls/testdata/Server-TLSv12-ALPN-Fallback
src/crypto/tls/testdata/Server-TLSv12-ALPN-NotConfigured
src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndECDSAGiven
src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndEd25519Given
src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndGiven
src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndPKCS1v15Given
src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedNotGiven
src/crypto/tls/testdata/Server-TLSv12-ECDHE-ECDSA-AES
src/crypto/tls/testdata/Server-TLSv12-Ed25519
src/crypto/tls/testdata/Server-TLSv12-ExportKeyingMaterial
src/crypto/tls/testdata/Server-TLSv12-IssueTicket
src/crypto/tls/testdata/Server-TLSv12-IssueTicketPreDisable
src/crypto/tls/testdata/Server-TLSv12-P256
src/crypto/tls/testdata/Server-TLSv12-RSA-3DES
src/crypto/tls/testdata/Server-TLSv12-RSA-AES
src/crypto/tls/testdata/Server-TLSv12-RSA-AES-GCM
src/crypto/tls/testdata/Server-TLSv12-RSA-AES256-GCM-SHA384
src/crypto/tls/testdata/Server-TLSv12-RSA-RC4
src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPKCS1v15
src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPSS
src/crypto/tls/testdata/Server-TLSv12-Resume
src/crypto/tls/testdata/Server-TLSv12-ResumeDisabled
src/crypto/tls/testdata/Server-TLSv12-SNI
src/crypto/tls/testdata/Server-TLSv12-SNI-GetCertificate
src/crypto/tls/testdata/Server-TLSv12-SNI-GetCertificateNotFound
src/crypto/tls/testdata/Server-TLSv12-X25519
src/crypto/tls/testdata/Server-TLSv13-AES128-SHA256
src/crypto/tls/testdata/Server-TLSv13-AES256-SHA384
src/crypto/tls/testdata/Server-TLSv13-ALPN
src/crypto/tls/testdata/Server-TLSv13-ALPN-Fallback
src/crypto/tls/testdata/Server-TLSv13-ALPN-NotConfigured
src/crypto/tls/testdata/Server-TLSv13-CHACHA20-SHA256
src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedAndECDSAGiven
src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedAndEd25519Given
src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedAndGiven
src/crypto/tls/testdata/Server-TLSv13-ClientAuthRequestedNotGiven
src/crypto/tls/testdata/Server-TLSv13-ECDHE-ECDSA-AES
src/crypto/tls/testdata/Server-TLSv13-Ed25519
src/crypto/tls/testdata/Server-TLSv13-ExportKeyingMaterial
src/crypto/tls/testdata/Server-TLSv13-HelloRetryRequest
src/crypto/tls/testdata/Server-TLSv13-IssueTicket
src/crypto/tls/testdata/Server-TLSv13-IssueTicketPreDisable
src/crypto/tls/testdata/Server-TLSv13-P256
src/crypto/tls/testdata/Server-TLSv13-RSA-RSAPSS
src/crypto/tls/testdata/Server-TLSv13-Resume
src/crypto/tls/testdata/Server-TLSv13-Resume-HelloRetryRequest
src/crypto/tls/testdata/Server-TLSv13-X25519
src/crypto/tls/ticket.go
src/crypto/tls/tls_test.go