boringssl/ssl
Adam Langley e8509090cf Hold certificates in an SSL_SESSION as CRYPTO_BUFFERSs as well.
This change adds a STACK_OF(CRYPTO_BUFFER) to an SSL_SESSION which
contains the raw form of the received certificates. The X509-based
members still exist, but their |enc| buffer will alias the
CRYPTO_BUFFERs.

The serialisation format of SSL_SESSIONs is also changed, in a backwards
compatible way. Previously, some sessions would duplicate the leaf
certificate in the certificate chain. These sessions can still be read,
but will be written in a way incompatible with older versions of the
code. This should be fine because the situation where multiple versions
exchange serialised sessions is at the server, and the server doesn't
duplicate the leaf certifiate in the chain anyway.

Change-Id: Id3b75d24f1745795315cb7f8089a4ee4263fa938
Reviewed-on: https://boringssl-review.googlesource.com/12163
Reviewed-by: Adam Langley <alangley@gmail.com>
2016-12-09 18:12:40 +00:00
..
test Support setting per-connection OCSP staple 2016-12-08 20:29:43 +00:00
CMakeLists.txt Add TLS 1.3 1-RTT. 2016-07-18 09:54:46 +00:00
custom_extensions.c Pass explicit hs parameters into custom_extensions.c. 2016-12-06 19:49:36 +00:00
d1_both.c Replace hash_current_message with get_current_message. 2016-11-15 06:52:10 +00:00
d1_lib.c Move a few more functions into *_method.c. 2016-12-08 16:29:19 +00:00
d1_pkt.c Expose SSL_max_seal_overhead. 2016-11-09 16:51:46 +00:00
d1_srtp.c Fix ssl_ctx_make_profiles error handling. 2016-09-27 13:27:06 +00:00
dtls_method.c Move a few more functions into *_method.c. 2016-12-08 16:29:19 +00:00
dtls_record.c Take the version parameter out of ssl_do_msg_callback. 2016-09-21 18:55:27 +00:00
handshake_client.c Hold certificates in an SSL_SESSION as CRYPTO_BUFFERSs as well. 2016-12-09 18:12:40 +00:00
handshake_server.c Hold certificates in an SSL_SESSION as CRYPTO_BUFFERSs as well. 2016-12-09 18:12:40 +00:00
internal.h Hold certificates in an SSL_SESSION as CRYPTO_BUFFERSs as well. 2016-12-09 18:12:40 +00:00
s3_both.c Match state machine functions with new calling convention. 2016-12-06 19:36:45 +00:00
s3_enc.c Move key_block into SSL_HANDSHAKE. 2016-11-09 17:02:33 +00:00
s3_lib.c Move a few more functions into *_method.c. 2016-12-08 16:29:19 +00:00
s3_pkt.c Expose SSL_max_seal_overhead. 2016-11-09 16:51:46 +00:00
ssl_aead_ctx.c Validate input iv/mac sizes in SSL_AEAD_CTX_new. 2016-10-28 21:25:35 +00:00
ssl_asn1.c Hold certificates in an SSL_SESSION as CRYPTO_BUFFERSs as well. 2016-12-09 18:12:40 +00:00
ssl_buffer.c Add SSL_is_dtls. 2016-08-02 20:43:58 +00:00
ssl_cert.c Hold certificates in an SSL_SESSION as CRYPTO_BUFFERSs as well. 2016-12-09 18:12:40 +00:00
ssl_cipher.c Trim ssl_create_cipher_list slightly. 2016-11-03 22:19:53 +00:00
ssl_ecdh.c Implement SSL_CTX_set1_curves_list() 2016-09-30 00:45:19 +00:00
ssl_file.c Check for sk_X509_NAME_push failures. 2016-09-27 13:18:37 +00:00
ssl_lib.c Support setting per-connection OCSP staple 2016-12-08 20:29:43 +00:00
ssl_rsa.c Rename X.509 members in |SSL_SESSION| and |CERT|. 2016-11-09 20:07:57 +00:00
ssl_session.c Hold certificates in an SSL_SESSION as CRYPTO_BUFFERSs as well. 2016-12-09 18:12:40 +00:00
ssl_stat.c Add the certificate_required alert. 2016-10-10 15:48:06 +00:00
ssl_test.cc Hold certificates in an SSL_SESSION as CRYPTO_BUFFERSs as well. 2016-12-09 18:12:40 +00:00
t1_enc.c Pass explicit hs parameters into t1_enc.c. 2016-12-06 19:49:46 +00:00
t1_lib.c Support setting per-connection OCSP staple 2016-12-08 20:29:43 +00:00
tls13_both.c Hold certificates in an SSL_SESSION as CRYPTO_BUFFERSs as well. 2016-12-09 18:12:40 +00:00
tls13_client.c Pass explicit parameters elsewhere. 2016-12-06 19:54:58 +00:00
tls13_enc.c Pass explicit hs parameters to tls13_*.c. 2016-12-06 19:49:24 +00:00
tls13_server.c Hold certificates in an SSL_SESSION as CRYPTO_BUFFERSs as well. 2016-12-09 18:12:40 +00:00
tls_method.c Move a few more functions into *_method.c. 2016-12-08 16:29:19 +00:00
tls_record.c Skipping early data on 0RTT rejection. 2016-12-01 20:16:08 +00:00