mirror of
https://github.com/ARMmbed/mbedtls.git
synced 2025-05-11 17:32:34 +08:00
tls13: add key exchange modes in handshake params
Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
This commit is contained in:
parent
34da3727d6
commit
1b7c4a464c
@ -509,6 +509,9 @@ struct mbedtls_ssl_handshake_params
|
|||||||
/*
|
/*
|
||||||
* Handshake specific crypto variables
|
* Handshake specific crypto variables
|
||||||
*/
|
*/
|
||||||
|
#if defined(MBEDTLS_SSL_PROTO_TLS1_3_EXPERIMENTAL)
|
||||||
|
int tls1_3_kex_modes; /*!< key exchange modes for TLS 1.3 */
|
||||||
|
#endif /* MBEDTLS_SSL_PROTO_TLS1_3_EXPERIMENTAL */
|
||||||
|
|
||||||
#if defined(MBEDTLS_SSL_PROTO_TLS1_2) && \
|
#if defined(MBEDTLS_SSL_PROTO_TLS1_2) && \
|
||||||
defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED)
|
defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED)
|
||||||
@ -1438,6 +1441,43 @@ static inline int mbedtls_ssl_conf_tls13_some_psk_enabled( mbedtls_ssl_context *
|
|||||||
MBEDTLS_SSL_TLS13_KEY_EXCHANGE_MODE_PSK_ALL ) );
|
MBEDTLS_SSL_TLS13_KEY_EXCHANGE_MODE_PSK_ALL ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline unsigned mbedtls_ssl_tls1_3_check_kex_modes( mbedtls_ssl_context *ssl,
|
||||||
|
int kex_mode_mask )
|
||||||
|
{
|
||||||
|
return( ( ssl->handshake->tls1_3_kex_modes & kex_mode_mask ) != 0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int mbedtls_ssl_tls1_3_psk_enabled( mbedtls_ssl_context *ssl )
|
||||||
|
{
|
||||||
|
return( mbedtls_ssl_tls1_3_check_kex_modes( ssl,
|
||||||
|
MBEDTLS_SSL_TLS13_KEY_EXCHANGE_MODE_PSK ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int mbedtls_ssl_tls1_3_psk_ephemeral_enabled(
|
||||||
|
mbedtls_ssl_context *ssl )
|
||||||
|
{
|
||||||
|
return( mbedtls_ssl_tls1_3_check_kex_modes( ssl,
|
||||||
|
MBEDTLS_SSL_TLS13_KEY_EXCHANGE_MODE_PSK_EPHEMERAL ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int mbedtls_ssl_tls1_3_ephemeral_enabled( mbedtls_ssl_context *ssl )
|
||||||
|
{
|
||||||
|
return( mbedtls_ssl_tls1_3_check_kex_modes( ssl,
|
||||||
|
MBEDTLS_SSL_TLS13_KEY_EXCHANGE_MODE_EPHEMERAL ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int mbedtls_ssl_tls1_3_some_ephemeral_enabled( mbedtls_ssl_context *ssl )
|
||||||
|
{
|
||||||
|
return( mbedtls_ssl_tls1_3_check_kex_modes( ssl,
|
||||||
|
MBEDTLS_SSL_TLS13_KEY_EXCHANGE_MODE_EPHEMERAL_ALL ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int mbedtls_ssl_tls1_3_some_psk_enabled( mbedtls_ssl_context *ssl )
|
||||||
|
{
|
||||||
|
return( mbedtls_ssl_tls1_3_check_kex_modes( ssl,
|
||||||
|
MBEDTLS_SSL_TLS13_KEY_EXCHANGE_MODE_PSK_ALL ) );
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* MBEDTLS_SSL_PROTO_TLS1_3_EXPERIMENTAL */
|
#endif /* MBEDTLS_SSL_PROTO_TLS1_3_EXPERIMENTAL */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user