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
|
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
|
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
|
Handshake, tls1_2
|
||||||
depends_on:MBEDTLS_SSL_PROTO_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
|
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_entropy_context entropy;
|
||||||
mbedtls_mock_socket socket;
|
mbedtls_mock_socket socket;
|
||||||
mbedtls_endpoint_certificate cert;
|
mbedtls_endpoint_certificate cert;
|
||||||
|
FILE *dbg_output;
|
||||||
} mbedtls_endpoint;
|
} mbedtls_endpoint;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -872,6 +873,17 @@ exit:
|
||||||
return ret;
|
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()`
|
* Initializes \p ep structure. It is important to call `mbedtls_endpoint_free()`
|
||||||
* after calling this function even if it fails.
|
* after calling this function even if it fails.
|
||||||
|
@ -886,6 +898,7 @@ exit:
|
||||||
*
|
*
|
||||||
* \retval 0 on success, otherwise error code.
|
* \retval 0 on success, otherwise error code.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int mbedtls_endpoint_init( mbedtls_endpoint *ep, int endpoint_type, int pk_alg,
|
int mbedtls_endpoint_init( mbedtls_endpoint *ep, int endpoint_type, int pk_alg,
|
||||||
mbedtls_test_message_socket_context *dtls_context,
|
mbedtls_test_message_socket_context *dtls_context,
|
||||||
mbedtls_test_message_queue *input_queue,
|
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 ) );
|
&( ep->ctr_drbg ) );
|
||||||
mbedtls_entropy_init( &( ep->entropy ) );
|
mbedtls_entropy_init( &( ep->entropy ) );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TEST_ASSERT( mbedtls_ssl_conf_get_user_data_p( &ep->conf ) == NULL );
|
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_EQUAL( mbedtls_ssl_conf_get_user_data_n( &ep->conf ), 0 );
|
||||||
TEST_ASSERT( mbedtls_ssl_get_user_data_p( &ep->ssl ) == NULL );
|
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 );
|
mbedtls_ssl_conf_set_user_data_p( &ep->conf, ep );
|
||||||
TEST_EQUAL( mbedtls_ssl_get_user_data_n( &ep->ssl ), user_data_n );
|
TEST_EQUAL( mbedtls_ssl_get_user_data_n( &ep->ssl ), user_data_n );
|
||||||
mbedtls_ssl_set_user_data_p( &ep->ssl, ep );
|
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:
|
exit:
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue