boringssl/ssl
David Benjamin 5c4271f7cb Don't reauthenticate on renegotiation.
We currently forbid the server certificate from changing on
renegotiation. This means re-verifying the certificate is pointless and
indeed the callback being called again seems to surprise consumers more
than anything else.

Carry over the initial handshake's SCT lists and OCSP responses (don't
enforce they don't change since the server may have, say, picked up new
OCSP responses in the meantime), ignore new ones received on
renegotiation, and don't bother redoing verification.

For our purposes, TLS 1.2 renegotiation is an overcomplicated TLS 1.3
KeyUpdate + post-handshake auth. The server is not allowed to change
identity.

Bug: 126
Change-Id: I0dae85bcf243943b1a5a97fa4f30f100c9e6e41e
Reviewed-on: https://boringssl-review.googlesource.com/19665
Commit-Queue: Adam Langley <agl@google.com>
Reviewed-by: Adam Langley <agl@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
2017-08-24 16:14:22 +00:00
..
test Don't reauthenticate on renegotiation. 2017-08-24 16:14:22 +00:00
bio_ssl.cc Switch a number of files to C++. 2017-07-12 20:54:02 +00:00
CMakeLists.txt Add bssl::SealRecord and bssl::OpenRecord. 2017-07-24 20:14:08 +00:00
custom_extensions.cc Prevent both early data and custom extensions from being accepted. 2017-08-14 20:15:54 +00:00
d1_both.cc Only enable DTLS post-handshake rexmits if we sent the final Finished. 2017-08-23 17:13:42 +00:00
d1_lib.cc Remove expect and received flight hooks. 2017-08-07 02:10:03 +00:00
d1_pkt.cc Remove expect and received flight hooks. 2017-08-07 02:10:03 +00:00
d1_srtp.cc Switch BORINGSSL_INTERNAL_CXX_TYPES in favor of subclassing games. 2017-07-20 17:24:12 +00:00
dtls_method.cc Only enable DTLS post-handshake rexmits if we sent the final Finished. 2017-08-23 17:13:42 +00:00
dtls_record.cc Switch BORINGSSL_INTERNAL_CXX_TYPES in favor of subclassing games. 2017-07-20 17:24:12 +00:00
handshake_client.cc Don't reauthenticate on renegotiation. 2017-08-24 16:14:22 +00:00
handshake_server.cc Tidy up handshake digest logic. 2017-08-09 19:13:15 +00:00
internal.h Only enable DTLS post-handshake rexmits if we sent the final Finished. 2017-08-23 17:13:42 +00:00
s3_both.cc Don't reauthenticate on renegotiation. 2017-08-24 16:14:22 +00:00
s3_lib.cc Switch BORINGSSL_INTERNAL_CXX_TYPES in favor of subclassing games. 2017-07-20 17:24:12 +00:00
s3_pkt.cc Replace init_msg/init_num with a get_message hook. 2017-08-08 21:13:04 +00:00
span_test.cc Add bssl::SealRecord and bssl::OpenRecord. 2017-07-24 20:14:08 +00:00
ssl_aead_ctx.cc Make the bssl::SealRecord out_suffix arg fixed length. 2017-07-28 21:42:25 +00:00
ssl_asn1.cc Put SCTs and OCSP responses in CRYPTO_BUFFERs. 2017-08-23 15:58:52 +00:00
ssl_buffer.cc Switch BORINGSSL_INTERNAL_CXX_TYPES in favor of subclassing games. 2017-07-20 17:24:12 +00:00
ssl_cert.cc Fix miscellaneous clang-tidy warnings. 2017-08-01 20:39:46 +00:00
ssl_cipher.cc Add OpenSSL 1.1.0's cipher property functions. 2017-08-11 02:08:58 +00:00
ssl_file.cc Switch BORINGSSL_INTERNAL_CXX_TYPES in favor of subclassing games. 2017-07-20 17:24:12 +00:00
ssl_key_share.cc Convert SSL_ECDH_CTX to C++. 2017-07-20 21:27:23 +00:00
ssl_lib.cc Mark renego-established sessions not resumable. 2017-08-24 16:10:54 +00:00
ssl_privkey.cc More scopers. 2017-08-03 19:35:09 +00:00
ssl_session.cc Put SCTs and OCSP responses in CRYPTO_BUFFERs. 2017-08-23 15:58:52 +00:00
ssl_stat.cc Make SSL_state_string_long work for TLS 1.3. 2017-08-18 19:38:33 +00:00
ssl_test.cc Refactor ssl_test ForEachVersion into a GTest fixture. 2017-08-17 23:18:00 +00:00
ssl_transcript.cc Tidy up handshake digest logic. 2017-08-09 19:13:15 +00:00
ssl_versions.cc Switch BORINGSSL_INTERNAL_CXX_TYPES in favor of subclassing games. 2017-07-20 17:24:12 +00:00
ssl_x509.cc More scopers. 2017-08-03 19:35:09 +00:00
t1_enc.cc Tidy up handshake digest logic. 2017-08-09 19:13:15 +00:00
t1_lib.cc Put SCTs and OCSP responses in CRYPTO_BUFFERs. 2017-08-23 15:58:52 +00:00
tls13_both.cc Put SCTs and OCSP responses in CRYPTO_BUFFERs. 2017-08-23 15:58:52 +00:00
tls13_client.cc Make SSL_state_string_long work for TLS 1.3. 2017-08-18 19:38:33 +00:00
tls13_enc.cc Tidy up handshake digest logic. 2017-08-09 19:13:15 +00:00
tls13_server.cc Make SSL_state_string_long work for TLS 1.3. 2017-08-18 19:38:33 +00:00
tls_method.cc Replace init_msg/init_num with a get_message hook. 2017-08-08 21:13:04 +00:00
tls_record.cc Fix a bug in bssl::OpenRecord. 2017-08-04 21:36:13 +00:00