boringssl/ssl/test/runner
David Benjamin 17b3083373 Use a separate timeout scheme for TLS 1.3.
In TLS 1.2, resumption's benefits are more-or-less subsumed by False
Start. TLS 1.2 resumption lifetime is bounded by how much traffic we are
willing to encrypt without fresh key material, so the lifetime is short.
Renewal uses the same key, so we do not allow it to increase lifetimes.

In TLS 1.3, resumption unlocks 0-RTT. We do not implement psk_ke, so
resumption incorporates fresh key material into both encrypted traffic
(except for early data) and renewed tickets. Thus we are both more
willing to and more interested in longer lifetimes for tickets. Renewal
is also not useless. Thus in TLS 1.3, lifetime is bound separately by
the lifetime of a given secret as a psk_dhe_ke authenticator and the
lifetime of the online signature which authenticated the initial
handshake.

This change maintains two lifetimes on an SSL_SESSION: timeout which is
the renewable lifetime of this ticket, and auth_timeout which is the
non-renewable cliff. It also separates the TLS 1.2 and TLS 1.3 timeouts.
The old session timeout defaults and configuration apply to TLS 1.3, and
we define new ones for TLS 1.3.

Finally, this makes us honor the NewSessionTicket timeout in TLS 1.3.
It's no longer a "hint" in 1.3 and there's probably value in avoiding
known-useless 0-RTT offers.

BUG=120

Change-Id: Iac46d56e5a6a377d8b88b8fa31f492d534cb1b85
Reviewed-on: https://boringssl-review.googlesource.com/13503
Reviewed-by: Adam Langley <agl@google.com>
2017-02-02 19:51:49 +00:00
..
curve25519 Bundle a copy of golang.org/x/crypto/curve25519 for testing. 2015-12-22 17:47:53 +00:00
poly1305
alert.go Enforce the SSL 3.0 no_certificate alert in tests. 2017-01-04 13:41:56 +00:00
cert.pem Adding RSA-PSS signature algorithms. 2016-07-12 19:10:51 +00:00
chacha20_poly1305_test.go Remove old ChaCha20-Poly1305 AEAD. 2017-01-19 23:27:54 +00:00
chacha20_poly1305.go Remove old ChaCha20-Poly1305 AEAD. 2017-01-19 23:27:54 +00:00
channel_id_key.pem
cipher_suites.go Run go fmt on bogo code. 2017-01-24 00:29:38 +00:00
common.go Use a separate timeout scheme for TLS 1.3. 2017-02-02 19:51:49 +00:00
conn.go Use a separate timeout scheme for TLS 1.3. 2017-02-02 19:51:49 +00:00
deterministic.go Fix mixed comment markers. 2016-08-01 14:52:39 +00:00
dtls.go Moving TLS 1.3 version negotiation into extension. 2016-09-27 20:12:22 +00:00
ecdsa_p256_cert.pem Match ECDSA curve with hash in tests. 2016-07-12 18:26:14 +00:00
ecdsa_p256_key.pem Convert all of our test private keys to PKCS#8 PEM blobs. 2016-07-28 21:54:02 +00:00
ecdsa_p384_cert.pem Match ECDSA curve with hash in tests. 2016-07-12 18:26:14 +00:00
ecdsa_p384_key.pem Convert all of our test private keys to PKCS#8 PEM blobs. 2016-07-28 21:54:02 +00:00
ecdsa_p521_cert.pem Match ECDSA curve with hash in tests. 2016-07-12 18:26:14 +00:00
ecdsa_p521_key.pem Convert all of our test private keys to PKCS#8 PEM blobs. 2016-07-28 21:54:02 +00:00
fuzzer_mode.json Update fuzzer mode suppressions. 2016-12-22 03:18:19 +00:00
handshake_client.go Bogo: Send and receive 0.5-RTT data. 2017-02-01 00:04:04 +00:00
handshake_messages.go Fix TLS 1.3 NewSessionTicket processing. 2017-01-09 03:37:19 +00:00
handshake_server.go Use a separate timeout scheme for TLS 1.3. 2017-02-02 19:51:49 +00:00
hkdf_test.go Fix mixed comment markers. 2016-08-01 14:52:39 +00:00
hkdf.go Fix mixed comment markers. 2016-08-01 14:52:39 +00:00
key_agreement.go Remove CECPQ1 (experimental post-quantum key agreement). 2016-12-09 19:16:56 +00:00
key.pem Convert all of our test private keys to PKCS#8 PEM blobs. 2016-07-28 21:54:02 +00:00
packet_adapter.go
prf.go Remove Fake TLS 1.3 code from prf.go. 2016-12-06 22:11:09 +00:00
recordingconn.go Fix mixed comment markers. 2016-08-01 14:52:39 +00:00
rsa_1024_cert.pem Account for key size when selecting RSA-PSS. 2016-07-13 15:32:05 +00:00
rsa_1024_key.pem Convert rsa_1024_key.pem to a PKCS#8 PEM blob. 2016-08-01 18:42:17 +00:00
rsa_chain_cert.pem Add runner tests which send intermediate certificates. 2016-11-15 01:36:37 +00:00
rsa_chain_key.pem Add runner tests which send intermediate certificates. 2016-11-15 01:36:37 +00:00
runner_test.go Fix mixed comment markers. 2016-08-01 14:52:39 +00:00
runner.go Use a separate timeout scheme for TLS 1.3. 2017-02-02 19:51:49 +00:00
shim_ticket.go Test bad records at all cipher suites. 2016-11-10 16:19:51 +00:00
sign.go RSA-PSS should work in TLS 1.2. 2016-08-19 18:44:26 +00:00
test_output.go Support unimplemented tests in test runner. 2016-07-27 18:54:40 +00:00
ticket.go Add support for TLS 1.3 PSK resumption in Go. 2016-08-02 19:37:07 +00:00
tls.go