mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-11-03 20:22:59 -05: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
 | 
			
		||||
     */
 | 
			
		||||
#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) && \
 | 
			
		||||
    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 ) );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user