mirror of
https://github.com/espressif/mbedtls.git
synced 2025-06-25 01:30:16 +08:00
tests: ssl: Add scenario param to early data status testing function
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
This commit is contained in:
parent
a7f94e49a8
commit
5c208d7daf
@ -3274,8 +3274,8 @@ elliptic_curve_get_properties
|
|||||||
TLS 1.3 resume session with ticket
|
TLS 1.3 resume session with ticket
|
||||||
tls13_resume_session_with_ticket
|
tls13_resume_session_with_ticket
|
||||||
|
|
||||||
TLS 1.3 early data, reference
|
TLS 1.3 early data, early data accepted
|
||||||
tls13_early_data:TEST_EARLY_DATA_REFERENCE
|
tls13_early_data:TEST_EARLY_DATA_ACCEPTED
|
||||||
|
|
||||||
TLS 1.3 early data, deprotect and discard
|
TLS 1.3 early data, deprotect and discard
|
||||||
tls13_early_data:TEST_EARLY_DATA_DEPROTECT_AND_DISCARD
|
tls13_early_data:TEST_EARLY_DATA_DEPROTECT_AND_DISCARD
|
||||||
@ -3283,5 +3283,5 @@ tls13_early_data:TEST_EARLY_DATA_DEPROTECT_AND_DISCARD
|
|||||||
TLS 1.3 early data, discard after HRR
|
TLS 1.3 early data, discard after HRR
|
||||||
tls13_early_data:TEST_EARLY_DATA_DISCARD_AFTER_HRR
|
tls13_early_data:TEST_EARLY_DATA_DISCARD_AFTER_HRR
|
||||||
|
|
||||||
TLS 1.3 cli, early data status
|
TLS 1.3 cli, early data status, early data accepted
|
||||||
tls13_cli_early_data_status
|
tls13_cli_early_data_status:TEST_EARLY_DATA_ACCEPTED
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
#define SSL_MESSAGE_QUEUE_INIT { NULL, 0, 0, 0 }
|
#define SSL_MESSAGE_QUEUE_INIT { NULL, 0, 0, 0 }
|
||||||
|
|
||||||
/* Mnemonics for the early data test scenarios */
|
/* Mnemonics for the early data test scenarios */
|
||||||
#define TEST_EARLY_DATA_REFERENCE 0
|
#define TEST_EARLY_DATA_ACCEPTED 0
|
||||||
#define TEST_EARLY_DATA_DEPROTECT_AND_DISCARD 1
|
#define TEST_EARLY_DATA_DEPROTECT_AND_DISCARD 1
|
||||||
#define TEST_EARLY_DATA_DISCARD_AFTER_HRR 2
|
#define TEST_EARLY_DATA_DISCARD_AFTER_HRR 2
|
||||||
|
|
||||||
@ -3695,7 +3695,7 @@ void tls13_early_data(int scenario)
|
|||||||
* Prepare for handshake with the ticket.
|
* Prepare for handshake with the ticket.
|
||||||
*/
|
*/
|
||||||
switch (scenario) {
|
switch (scenario) {
|
||||||
case TEST_EARLY_DATA_REFERENCE:
|
case TEST_EARLY_DATA_ACCEPTED:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TEST_EARLY_DATA_DEPROTECT_AND_DISCARD:
|
case TEST_EARLY_DATA_DEPROTECT_AND_DISCARD:
|
||||||
@ -3757,7 +3757,7 @@ void tls13_early_data(int scenario)
|
|||||||
MBEDTLS_SSL_HANDSHAKE_WRAPUP);
|
MBEDTLS_SSL_HANDSHAKE_WRAPUP);
|
||||||
|
|
||||||
switch (scenario) {
|
switch (scenario) {
|
||||||
case TEST_EARLY_DATA_REFERENCE:
|
case TEST_EARLY_DATA_ACCEPTED:
|
||||||
TEST_EQUAL(ret, MBEDTLS_ERR_SSL_RECEIVED_EARLY_DATA);
|
TEST_EQUAL(ret, MBEDTLS_ERR_SSL_RECEIVED_EARLY_DATA);
|
||||||
TEST_EQUAL(server_ep.ssl.handshake->early_data_accepted, 1);
|
TEST_EQUAL(server_ep.ssl.handshake->early_data_accepted, 1);
|
||||||
TEST_EQUAL(mbedtls_ssl_read_early_data(&(server_ep.ssl),
|
TEST_EQUAL(mbedtls_ssl_read_early_data(&(server_ep.ssl),
|
||||||
@ -3789,7 +3789,7 @@ exit:
|
|||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
/* BEGIN_CASE depends_on:MBEDTLS_SSL_EARLY_DATA:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_SRV_C:MBEDTLS_TEST_AT_LEAST_ONE_TLS1_3_CIPHERSUITE:MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED:MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED:MBEDTLS_MD_CAN_SHA256:MBEDTLS_ECP_HAVE_SECP256R1:MBEDTLS_ECP_HAVE_SECP384R1:MBEDTLS_PK_CAN_ECDSA_VERIFY:MBEDTLS_SSL_SESSION_TICKETS */
|
/* BEGIN_CASE depends_on:MBEDTLS_SSL_EARLY_DATA:MBEDTLS_SSL_CLI_C:MBEDTLS_SSL_SRV_C:MBEDTLS_TEST_AT_LEAST_ONE_TLS1_3_CIPHERSUITE:MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED:MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED:MBEDTLS_MD_CAN_SHA256:MBEDTLS_ECP_HAVE_SECP256R1:MBEDTLS_ECP_HAVE_SECP384R1:MBEDTLS_PK_CAN_ECDSA_VERIFY:MBEDTLS_SSL_SESSION_TICKETS */
|
||||||
void tls13_cli_early_data_status()
|
void tls13_cli_early_data_status(int scenario)
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
mbedtls_test_ssl_endpoint client_ep, server_ep;
|
mbedtls_test_ssl_endpoint client_ep, server_ep;
|
||||||
@ -3820,6 +3820,14 @@ void tls13_cli_early_data_status()
|
|||||||
/*
|
/*
|
||||||
* Prepare for handshake with the ticket.
|
* Prepare for handshake with the ticket.
|
||||||
*/
|
*/
|
||||||
|
switch (scenario) {
|
||||||
|
case TEST_EARLY_DATA_ACCEPTED:
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
TEST_FAIL("Unknown scenario.");
|
||||||
|
}
|
||||||
|
|
||||||
ret = mbedtls_test_ssl_endpoint_init(&client_ep, MBEDTLS_SSL_IS_CLIENT,
|
ret = mbedtls_test_ssl_endpoint_init(&client_ep, MBEDTLS_SSL_IS_CLIENT,
|
||||||
&client_options, NULL, NULL, NULL);
|
&client_options, NULL, NULL, NULL);
|
||||||
TEST_EQUAL(ret, 0);
|
TEST_EQUAL(ret, 0);
|
||||||
@ -3864,53 +3872,89 @@ void tls13_cli_early_data_status()
|
|||||||
|
|
||||||
switch (client_ep.ssl.state) {
|
switch (client_ep.ssl.state) {
|
||||||
case MBEDTLS_SSL_CLIENT_HELLO:
|
case MBEDTLS_SSL_CLIENT_HELLO:
|
||||||
|
switch (scenario) {
|
||||||
|
case TEST_EARLY_DATA_ACCEPTED:
|
||||||
TEST_EQUAL(client_ep.ssl.early_data_status,
|
TEST_EQUAL(client_ep.ssl.early_data_status,
|
||||||
MBEDTLS_SSL_EARLY_DATA_STATUS_UNKNOWN);
|
MBEDTLS_SSL_EARLY_DATA_STATUS_UNKNOWN);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case MBEDTLS_SSL_SERVER_HELLO:
|
case MBEDTLS_SSL_SERVER_HELLO:
|
||||||
|
switch (scenario) {
|
||||||
|
case TEST_EARLY_DATA_ACCEPTED:
|
||||||
TEST_EQUAL(client_ep.ssl.early_data_status,
|
TEST_EQUAL(client_ep.ssl.early_data_status,
|
||||||
MBEDTLS_SSL_EARLY_DATA_STATUS_CAN_WRITE);
|
MBEDTLS_SSL_EARLY_DATA_STATUS_CAN_WRITE);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case MBEDTLS_SSL_ENCRYPTED_EXTENSIONS:
|
case MBEDTLS_SSL_ENCRYPTED_EXTENSIONS:
|
||||||
|
switch (scenario) {
|
||||||
|
case TEST_EARLY_DATA_ACCEPTED:
|
||||||
TEST_EQUAL(client_ep.ssl.early_data_status,
|
TEST_EQUAL(client_ep.ssl.early_data_status,
|
||||||
MBEDTLS_SSL_EARLY_DATA_STATUS_CAN_WRITE);
|
MBEDTLS_SSL_EARLY_DATA_STATUS_CAN_WRITE);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case MBEDTLS_SSL_SERVER_FINISHED:
|
case MBEDTLS_SSL_SERVER_FINISHED:
|
||||||
|
switch (scenario) {
|
||||||
|
case TEST_EARLY_DATA_ACCEPTED:
|
||||||
TEST_EQUAL(client_ep.ssl.early_data_status,
|
TEST_EQUAL(client_ep.ssl.early_data_status,
|
||||||
MBEDTLS_SSL_EARLY_DATA_STATUS_ACCEPTED);
|
MBEDTLS_SSL_EARLY_DATA_STATUS_ACCEPTED);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case MBEDTLS_SSL_END_OF_EARLY_DATA:
|
case MBEDTLS_SSL_END_OF_EARLY_DATA:
|
||||||
|
switch (scenario) {
|
||||||
|
case TEST_EARLY_DATA_ACCEPTED:
|
||||||
TEST_EQUAL(client_ep.ssl.early_data_status,
|
TEST_EQUAL(client_ep.ssl.early_data_status,
|
||||||
MBEDTLS_SSL_EARLY_DATA_STATUS_SERVER_FINISHED_RECEIVED);
|
MBEDTLS_SSL_EARLY_DATA_STATUS_SERVER_FINISHED_RECEIVED);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case MBEDTLS_SSL_CLIENT_CERTIFICATE:
|
case MBEDTLS_SSL_CLIENT_CERTIFICATE:
|
||||||
|
switch (scenario) {
|
||||||
|
case TEST_EARLY_DATA_ACCEPTED:
|
||||||
TEST_EQUAL(client_ep.ssl.early_data_status,
|
TEST_EQUAL(client_ep.ssl.early_data_status,
|
||||||
MBEDTLS_SSL_EARLY_DATA_STATUS_SERVER_FINISHED_RECEIVED);
|
MBEDTLS_SSL_EARLY_DATA_STATUS_SERVER_FINISHED_RECEIVED);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case MBEDTLS_SSL_CLIENT_FINISHED:
|
case MBEDTLS_SSL_CLIENT_FINISHED:
|
||||||
|
switch (scenario) {
|
||||||
|
case TEST_EARLY_DATA_ACCEPTED:
|
||||||
TEST_EQUAL(client_ep.ssl.early_data_status,
|
TEST_EQUAL(client_ep.ssl.early_data_status,
|
||||||
MBEDTLS_SSL_EARLY_DATA_STATUS_SERVER_FINISHED_RECEIVED);
|
MBEDTLS_SSL_EARLY_DATA_STATUS_SERVER_FINISHED_RECEIVED);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
#if defined(MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE)
|
#if defined(MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE)
|
||||||
case MBEDTLS_SSL_CLIENT_CCS_AFTER_CLIENT_HELLO:
|
case MBEDTLS_SSL_CLIENT_CCS_AFTER_CLIENT_HELLO:
|
||||||
|
switch (scenario) {
|
||||||
|
case TEST_EARLY_DATA_ACCEPTED:
|
||||||
TEST_EQUAL(client_ep.ssl.early_data_status,
|
TEST_EQUAL(client_ep.ssl.early_data_status,
|
||||||
MBEDTLS_SSL_EARLY_DATA_STATUS_SENT);
|
MBEDTLS_SSL_EARLY_DATA_STATUS_SENT);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
#endif /* MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE */
|
#endif /* MBEDTLS_SSL_TLS1_3_COMPATIBILITY_MODE */
|
||||||
|
|
||||||
case MBEDTLS_SSL_FLUSH_BUFFERS: /* Intentional fallthrough */
|
case MBEDTLS_SSL_FLUSH_BUFFERS: /* Intentional fallthrough */
|
||||||
case MBEDTLS_SSL_HANDSHAKE_WRAPUP: /* Intentional fallthrough */
|
case MBEDTLS_SSL_HANDSHAKE_WRAPUP: /* Intentional fallthrough */
|
||||||
case MBEDTLS_SSL_HANDSHAKE_OVER:
|
case MBEDTLS_SSL_HANDSHAKE_OVER:
|
||||||
|
switch (scenario) {
|
||||||
|
case TEST_EARLY_DATA_ACCEPTED:
|
||||||
TEST_EQUAL(client_ep.ssl.early_data_status,
|
TEST_EQUAL(client_ep.ssl.early_data_status,
|
||||||
MBEDTLS_SSL_EARLY_DATA_STATUS_SERVER_FINISHED_RECEIVED);
|
MBEDTLS_SSL_EARLY_DATA_STATUS_SERVER_FINISHED_RECEIVED);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
TEST_FAIL("Unexpected state.");
|
TEST_FAIL("Unexpected state.");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user