openssl/ssl
Benjamin Kaduk aa6bd216dd Promote SSL_get_negotiated_group() for non-TLSv1.3
It can be useful to know what group was used for the handshake's
key exchange process even on non-TLS 1.3 connections.  Allow this
API, new in OpenSSL 3.0.0, to be used on other TLS versions as well.
Since pre-TLS-1.3 key exchange occurs only on full handshakes, this
necessitates adding a field to the SSL_SESSION object to carry the
group information across resumptions.  The key exchange group in the
SSL_SESSION can also be relevant in TLS 1.3 when the resumption handshake
uses the "psk_ke" key-exchange mode, so also track whether a fresh key
exchange was done for TLS 1.3.

Since the new field is optional in the ASN.1 sense, there is no need
to increment SSL_SESSION_ASN1_VERSION (which incurs strong incompatibility
churn).

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14750)
2021-05-15 15:09:07 -07:00
..
record
statem Promote SSL_get_negotiated_group() for non-TLSv1.3 2021-05-15 15:09:07 -07:00
bio_ssl.c
build.info
d1_lib.c
d1_msg.c
d1_srtp.c
ktls.c
methods.c
pqueue.c
s3_cbc.c
s3_enc.c
s3_lib.c Promote SSL_get_negotiated_group() for non-TLSv1.3 2021-05-15 15:09:07 -07:00
s3_msg.c
ssl_asn1.c Promote SSL_get_negotiated_group() for non-TLSv1.3 2021-05-15 15:09:07 -07:00
ssl_cert_table.h
ssl_cert.c
ssl_ciph.c
ssl_conf.c Slightly reformat ssl.h.in 2021-05-14 09:59:49 +01:00
ssl_err_legacy.c
ssl_err.c make update 2021-05-12 09:11:48 -07:00
ssl_init.c
ssl_lib.c Convert SSL_{CTX}_[gs]et_options to 64 2021-05-14 09:59:38 +01:00
ssl_local.h Promote SSL_get_negotiated_group() for non-TLSv1.3 2021-05-15 15:09:07 -07:00
ssl_mcnf.c
ssl_rsa_legacy.c
ssl_rsa.c
ssl_sess.c
ssl_stat.c
ssl_txt.c
ssl_utst.c
sslerr.h
t1_enc.c
t1_lib.c Replace EVP_PKEY_supports_digest_nid 2021-05-13 13:19:39 +02:00
t1_trce.c
tls13_enc.c Add quick one-shot EVP_Q_mac() and deprecation compensation decls for MAC functions 2021-05-08 14:35:03 +02:00
tls_depr.c
tls_srp.c