mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2025-04-26 09:36:27 +00:00
ECDH: Adapt tests for mbedtls_ecdh_setup()
The recently added `mbedtls_ecdh_setup()` function is not used in the tests yet. This commit adapts the tests to the new workflow. Having done that, the old lifecycle is not tested anymore, so we add a new test to ensure backward compatibility.
This commit is contained in:
parent
f61e486179
commit
fc03e8dfa9
|
@ -69,3 +69,7 @@ ecdh_restart:MBEDTLS_ECP_DP_SECP256R1:"C88F01F510D9AC3F70A292DAA2316DE544E9AAB8A
|
||||||
ECDH restartable rfc 5903 p256 restart disabled max_ops=250
|
ECDH restartable rfc 5903 p256 restart disabled max_ops=250
|
||||||
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||||
ecdh_restart:MBEDTLS_ECP_DP_SECP256R1:"C88F01F510D9AC3F70A292DAA2316DE544E9AAB8AFE84049C62A9C57862D1433":"C6EF9C5D78AE012A011164ACB397CE2088685D8F06BF9BE0B283AB46476BEE53":"D6840F6B42F6EDAFD13116E0E12565202FEF8E9ECE7DCE03812464D04B9442DE":0:250:0:0
|
ecdh_restart:MBEDTLS_ECP_DP_SECP256R1:"C88F01F510D9AC3F70A292DAA2316DE544E9AAB8AFE84049C62A9C57862D1433":"C6EF9C5D78AE012A011164ACB397CE2088685D8F06BF9BE0B283AB46476BEE53":"D6840F6B42F6EDAFD13116E0E12565202FEF8E9ECE7DCE03812464D04B9442DE":0:250:0:0
|
||||||
|
|
||||||
|
ECDH exchange legacy context
|
||||||
|
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||||
|
ecdh_exchange_legacy:MBEDTLS_ECP_DP_SECP192R1
|
||||||
|
|
|
@ -134,16 +134,16 @@ void ecdh_exchange( int id )
|
||||||
mbedtls_ecdh_init( &cli );
|
mbedtls_ecdh_init( &cli );
|
||||||
memset( &rnd_info, 0x00, sizeof( rnd_pseudo_info ) );
|
memset( &rnd_info, 0x00, sizeof( rnd_pseudo_info ) );
|
||||||
|
|
||||||
TEST_ASSERT( mbedtls_ecp_group_load( &srv.grp, id ) == 0 );
|
TEST_ASSERT( mbedtls_ecdh_setup( &srv, id ) == 0 );
|
||||||
|
|
||||||
memset( buf, 0x00, sizeof( buf ) ); vbuf = buf;
|
memset( buf, 0x00, sizeof( buf ) ); vbuf = buf;
|
||||||
TEST_ASSERT( mbedtls_ecdh_make_params( &srv, &len, buf, 1000,
|
TEST_ASSERT( mbedtls_ecdh_make_params( &srv, &len, buf, 1000,
|
||||||
&rnd_pseudo_rand, &rnd_info ) == 0 );
|
&rnd_pseudo_rand, &rnd_info ) == 0 );
|
||||||
TEST_ASSERT( mbedtls_ecdh_read_params( &cli, &vbuf, buf + len ) == 0 );
|
TEST_ASSERT( mbedtls_ecdh_read_params( &cli, &vbuf, buf + len ) == 0 );
|
||||||
|
|
||||||
memset( buf, 0x00, sizeof( buf ) );
|
memset( buf, 0x00, sizeof( buf ) );
|
||||||
TEST_ASSERT( mbedtls_ecdh_make_public( &cli, &len, buf, 1000,
|
TEST_ASSERT( mbedtls_ecdh_make_public( &cli, &len, buf, 1000,
|
||||||
&rnd_pseudo_rand, &rnd_info ) == 0 );
|
&rnd_pseudo_rand, &rnd_info ) == 0 );
|
||||||
TEST_ASSERT( mbedtls_ecdh_read_public( &srv, buf, len ) == 0 );
|
TEST_ASSERT( mbedtls_ecdh_read_public( &srv, buf, len ) == 0 );
|
||||||
|
|
||||||
TEST_ASSERT( mbedtls_ecdh_calc_secret( &srv, &len, buf, 1000,
|
TEST_ASSERT( mbedtls_ecdh_calc_secret( &srv, &len, buf, 1000,
|
||||||
|
@ -273,3 +273,41 @@ exit:
|
||||||
mbedtls_ecdh_free( &cli );
|
mbedtls_ecdh_free( &cli );
|
||||||
}
|
}
|
||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
|
/* BEGIN_CASE */
|
||||||
|
void ecdh_exchange_legacy( int id )
|
||||||
|
{
|
||||||
|
mbedtls_ecdh_context srv, cli;
|
||||||
|
unsigned char buf[1000];
|
||||||
|
const unsigned char *vbuf;
|
||||||
|
size_t len;
|
||||||
|
|
||||||
|
rnd_pseudo_info rnd_info;
|
||||||
|
|
||||||
|
mbedtls_ecdh_init( &srv );
|
||||||
|
mbedtls_ecdh_init( &cli );
|
||||||
|
memset( &rnd_info, 0x00, sizeof( rnd_pseudo_info ) );
|
||||||
|
|
||||||
|
TEST_ASSERT( mbedtls_ecp_group_load( &srv.grp, id ) == 0 );
|
||||||
|
|
||||||
|
memset( buf, 0x00, sizeof( buf ) ); vbuf = buf;
|
||||||
|
TEST_ASSERT( mbedtls_ecdh_make_params( &srv, &len, buf, 1000,
|
||||||
|
&rnd_pseudo_rand, &rnd_info ) == 0 );
|
||||||
|
TEST_ASSERT( mbedtls_ecdh_read_params( &cli, &vbuf, buf + len ) == 0 );
|
||||||
|
|
||||||
|
memset( buf, 0x00, sizeof( buf ) );
|
||||||
|
TEST_ASSERT( mbedtls_ecdh_make_public( &cli, &len, buf, 1000,
|
||||||
|
&rnd_pseudo_rand, &rnd_info ) == 0 );
|
||||||
|
TEST_ASSERT( mbedtls_ecdh_read_public( &srv, buf, len ) == 0 );
|
||||||
|
|
||||||
|
TEST_ASSERT( mbedtls_ecdh_calc_secret( &srv, &len, buf, 1000,
|
||||||
|
&rnd_pseudo_rand, &rnd_info ) == 0 );
|
||||||
|
TEST_ASSERT( mbedtls_ecdh_calc_secret( &cli, &len, buf, 1000, NULL,
|
||||||
|
NULL ) == 0 );
|
||||||
|
TEST_ASSERT( mbedtls_mpi_cmp_mpi( &srv.z, &cli.z ) == 0 );
|
||||||
|
|
||||||
|
exit:
|
||||||
|
mbedtls_ecdh_free( &srv );
|
||||||
|
mbedtls_ecdh_free( &cli );
|
||||||
|
}
|
||||||
|
/* END_CASE */
|
||||||
|
|
Loading…
Reference in a new issue