Add moving state test for TLS1.3
Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
This commit is contained in:
parent
023ff7acb1
commit
d8c57feaf9
2 changed files with 138 additions and 0 deletions
|
@ -248,6 +248,126 @@ Negative test moving servers ssl to state: NEW_SESSION_TICKET
|
|||
depends_on:MBEDTLS_SSL_PROTO_TLS1_2:!MBEDTLS_USE_PSA_CRYPTO:!MBEDTLS_SSL_PROTO_TLS1_3
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_SERVER_NEW_SESSION_TICKET:0
|
||||
|
||||
TLSv1.3:Test moving clients handshake to state: HELLO_REQUEST
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_HELLO_REQUEST:1
|
||||
|
||||
TLSv1.3:Test moving servers handshake to state: HELLO_REQUEST
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_HELLO_REQUEST:1
|
||||
|
||||
TLSv1.3:Test moving clients handshake to state: CLIENT_HELLO
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_CLIENT_HELLO:1
|
||||
|
||||
TLSv1.3:Test moving servers handshake to state: CLIENT_HELLO
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_CLIENT_HELLO:1
|
||||
|
||||
TLSv1.3:Test moving clients handshake to state: SERVER_HELLO
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_SERVER_HELLO:1
|
||||
|
||||
TLSv1.3:Test moving servers handshake to state: SERVER_HELLO
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_SERVER_HELLO:1
|
||||
|
||||
TLSv1.3:Test moving clients handshake to state: ENCRYPTED_EXTENSIONS
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_ENCRYPTED_EXTENSIONS:1
|
||||
|
||||
TLSv1.3:Test moving servers handshake to state: ENCRYPTED_EXTENSIONS
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_ENCRYPTED_EXTENSIONS:1
|
||||
|
||||
TLSv1.3:Test moving clients handshake to state: CERTIFICATE_REQUEST
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_CERTIFICATE_REQUEST:1
|
||||
|
||||
TLSv1.3:Test moving servers handshake to state: CERTIFICATE_REQUEST
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_CERTIFICATE_REQUEST:0
|
||||
|
||||
TLSv1.3:Test moving clients handshake to state: SERVER_CERTIFICATE
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_SERVER_CERTIFICATE:1
|
||||
|
||||
TLSv1.3:Test moving servers handshake to state: SERVER_CERTIFICATE
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_SERVER_CERTIFICATE:1
|
||||
|
||||
TLSv1.3:Test moving clients handshake to state: CERTIFICATE_VERIFY
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_CERTIFICATE_VERIFY:1
|
||||
|
||||
TLSv1.3:Test moving servers handshake to state: CERTIFICATE_VERIFY
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_CERTIFICATE_VERIFY:1
|
||||
|
||||
TLSv1.3:Test moving clients handshake to state: SERVER_FINISHED
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_SERVER_FINISHED:1
|
||||
|
||||
TLSv1.3:Test moving servers handshake to state: SERVER_FINISHED
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_SERVER_FINISHED:1
|
||||
|
||||
TLSv1.3:Test moving clients handshake to state: CLIENT_CERTIFICATE
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_CLIENT_CERTIFICATE:1
|
||||
|
||||
TLSv1.3:Test moving servers handshake to state: CLIENT_CERTIFICATE
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_CLIENT_CERTIFICATE:0
|
||||
|
||||
TLSv1.3:Test moving clients handshake to state: CLIENT_CERTIFICATE_VERIFY
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_CLIENT_CERTIFICATE_VERIFY:0
|
||||
|
||||
TLSv1.3:Test moving servers handshake to state: CLIENT_CERTIFICATE_VERIFY
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_CLIENT_CERTIFICATE_VERIFY:0
|
||||
|
||||
TLSv1.3:Test moving clients handshake to state: CLIENT_FINISHED
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_CLIENT_FINISHED:1
|
||||
|
||||
TLSv1.3:Test moving servers handshake to state: CLIENT_FINISHED
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_CLIENT_FINISHED:1
|
||||
|
||||
TLSv1.3:Test moving clients handshake to state: FLUSH_BUFFERS
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_FLUSH_BUFFERS:1
|
||||
|
||||
TLSv1.3:Test moving servers handshake to state: FLUSH_BUFFERS
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_FLUSH_BUFFERS:0
|
||||
|
||||
TLSv1.3:Test moving clients handshake to state: HANDSHAKE_WRAPUP
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_HANDSHAKE_WRAPUP:1
|
||||
|
||||
TLSv1.3:Test moving servers handshake to state: HANDSHAKE_WRAPUP
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_HANDSHAKE_WRAPUP:0
|
||||
|
||||
TLSv1.3:Test moving clients handshake to state: CLIENT_CCS_BEFORE_2ND_CLIENT_HELLO
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_CLIENT_CCS_BEFORE_2ND_CLIENT_HELLO:0
|
||||
|
||||
TLSv1.3:Test moving servers handshake to state: CLIENT_CCS_BEFORE_2ND_CLIENT_HELLO
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_CLIENT_CCS_BEFORE_2ND_CLIENT_HELLO:0
|
||||
|
||||
TLSv1.3:Test moving clients handshake to state: CLIENT_CCS_AFTER_SERVER_FINISHED
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_CLIENT:MBEDTLS_SSL_CLIENT_CCS_AFTER_SERVER_FINISHED:1
|
||||
|
||||
TLSv1.3:Test moving servers handshake to state: CLIENT_CCS_AFTER_SERVER_FINISHED
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_3:!MBEDTLS_SSL_PROTO_TLS1_2
|
||||
move_handshake_to_state:MBEDTLS_SSL_IS_SERVER:MBEDTLS_SSL_CLIENT_CCS_AFTER_SERVER_FINISHED:0
|
||||
|
||||
Handshake, tls1_2
|
||||
depends_on:MBEDTLS_SSL_PROTO_TLS1_2
|
||||
handshake_version:0:MBEDTLS_SSL_VERSION_TLS1_2:MBEDTLS_SSL_VERSION_TLS1_2:MBEDTLS_SSL_VERSION_TLS1_2:MBEDTLS_SSL_VERSION_TLS1_2:MBEDTLS_SSL_VERSION_TLS1_2
|
||||
|
|
|
@ -751,6 +751,7 @@ typedef struct mbedtls_endpoint
|
|||
mbedtls_entropy_context entropy;
|
||||
mbedtls_mock_socket socket;
|
||||
mbedtls_endpoint_certificate cert;
|
||||
FILE *dbg_output;
|
||||
} mbedtls_endpoint;
|
||||
|
||||
/*
|
||||
|
@ -872,6 +873,17 @@ exit:
|
|||
return ret;
|
||||
}
|
||||
|
||||
static void my_debug( void *ctx, int level,
|
||||
const char *file, int line,
|
||||
const char *str )
|
||||
{
|
||||
((void) level);
|
||||
mbedtls_endpoint *ep=(mbedtls_endpoint *)ctx;
|
||||
mbedtls_fprintf( ep->dbg_output,
|
||||
"%s: %s:%04d: %s",
|
||||
ep->name, file, line, str );
|
||||
fflush( ep->dbg_output );
|
||||
}
|
||||
/*
|
||||
* Initializes \p ep structure. It is important to call `mbedtls_endpoint_free()`
|
||||
* after calling this function even if it fails.
|
||||
|
@ -886,6 +898,7 @@ exit:
|
|||
*
|
||||
* \retval 0 on success, otherwise error code.
|
||||
*/
|
||||
|
||||
int mbedtls_endpoint_init( mbedtls_endpoint *ep, int endpoint_type, int pk_alg,
|
||||
mbedtls_test_message_socket_context *dtls_context,
|
||||
mbedtls_test_message_queue *input_queue,
|
||||
|
@ -913,6 +926,8 @@ int mbedtls_endpoint_init( mbedtls_endpoint *ep, int endpoint_type, int pk_alg,
|
|||
&( ep->ctr_drbg ) );
|
||||
mbedtls_entropy_init( &( ep->entropy ) );
|
||||
|
||||
|
||||
|
||||
TEST_ASSERT( mbedtls_ssl_conf_get_user_data_p( &ep->conf ) == NULL );
|
||||
TEST_EQUAL( mbedtls_ssl_conf_get_user_data_n( &ep->conf ), 0 );
|
||||
TEST_ASSERT( mbedtls_ssl_get_user_data_p( &ep->ssl ) == NULL );
|
||||
|
@ -981,6 +996,9 @@ int mbedtls_endpoint_init( mbedtls_endpoint *ep, int endpoint_type, int pk_alg,
|
|||
mbedtls_ssl_conf_set_user_data_p( &ep->conf, ep );
|
||||
TEST_EQUAL( mbedtls_ssl_get_user_data_n( &ep->ssl ), user_data_n );
|
||||
mbedtls_ssl_set_user_data_p( &ep->ssl, ep );
|
||||
ep->dbg_output = stderr;
|
||||
mbedtls_ssl_conf_dbg( &ep->conf, my_debug, ep );
|
||||
mbedtls_debug_set_threshold( 100 );
|
||||
|
||||
exit:
|
||||
return ret;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue