boringssl/ssl/test/runner
David Benjamin 4eb95ccfd6 Parse ClientHello extensions before deciding on resumption.
This simplifies a little code around EMS and PSK KE modes, but requires
tweaking the SNI code.

The extensions that are more tightly integrated with the handshake are
still processed inline for now. It does, however, require an extra state
in 1.2 so the asynchronous session callback does not cause extensions to
be processed twice. Tweak a test enforce this.

This and a follow-up to move cert_cb before resumption are done in
preparation for resolving the cipher suite before resumption and only
resuming on match.

Note this has caller-visible effects:

- The legacy SNI callback happens before resumption.

- The ALPN callback happens before resumption.

- Custom extension ClientHello parsing callbacks also cannot depend on
  resumption state.

- The DoS protection callback now runs after all the extension callbacks
  as it is documented to be called after the resumption decision.

BUG=116

Change-Id: I1281a3b61789b95c370314aaed4f04c1babbc65f
Reviewed-on: https://boringssl-review.googlesource.com/11845
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: Adam Langley <agl@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
2016-11-16 23:58:02 +00:00
..
curve25519
newhope Fix mixed comment markers. 2016-08-01 14:52:39 +00:00
poly1305
alert.go Add the certificate_required alert. 2016-10-10 15:48:06 +00:00
cert.pem Adding RSA-PSS signature algorithms. 2016-07-12 19:10:51 +00:00
chacha20_poly1305_test.go Fix mixed comment markers. 2016-08-01 14:52:39 +00:00
chacha20_poly1305.go Fix mixed comment markers. 2016-08-01 14:52:39 +00:00
channel_id_key.pem
cipher_suites.go Update to TLS 1.3 draft 18. 2016-11-15 06:57:21 +00:00
common.go Do not send unsolicited SCTs in TLS 1.3. 2016-11-16 00:20:09 +00:00
conn.go Update to TLS 1.3 draft 18. 2016-11-15 06:57:21 +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 suppressions for fuzzer mode. 2016-11-15 07:00:35 +00:00
handshake_client.go Loosen TLS 1.3 session/cipher matching in BoGo. 2016-11-16 13:19:25 +00:00
handshake_messages.go Remove out-of-date BoGo earlyDataContext parsing bits. 2016-11-15 13:55:26 +00:00
handshake_server.go Loosen TLS 1.3 session/cipher matching in BoGo. 2016-11-16 13:19:25 +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 Apply version/wire mapping at a higher layer in runner. 2016-09-27 15:09:16 +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 Update to TLS 1.3 draft 18. 2016-11-15 06:57:21 +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 Parse ClientHello extensions before deciding on resumption. 2016-11-16 23:58:02 +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