Add mbedtls_ecdh_can_do
All curves can currently do ECDH, but to make the API symmetric and
future-proof, add mbedtls_ecdh_can_do() to go with mbedtls_ecdsa_can_do().
diff --git a/programs/test/benchmark.c b/programs/test/benchmark.c
index 7524f5c..502b15d 100644
--- a/programs/test/benchmark.c
+++ b/programs/test/benchmark.c
@@ -911,6 +911,9 @@
curve_info->grp_id != MBEDTLS_ECP_DP_NONE;
curve_info++ )
{
+ if( ! mbedtls_ecdh_can_do( curve_info->grp_id ) )
+ continue;
+
mbedtls_ecdh_init( &ecdh );
CHECK_AND_CONTINUE( mbedtls_ecp_group_load( &ecdh.grp, curve_info->grp_id ) );
@@ -956,6 +959,9 @@
curve_info->grp_id != MBEDTLS_ECP_DP_NONE;
curve_info++ )
{
+ if( ! mbedtls_ecdh_can_do( curve_info->grp_id ) )
+ continue;
+
mbedtls_ecdh_init( &ecdh );
CHECK_AND_CONTINUE( mbedtls_ecp_group_load( &ecdh.grp, curve_info->grp_id ) );
@@ -1012,6 +1018,9 @@
curve_info->grp_id != MBEDTLS_ECP_DP_NONE;
curve_info++ )
{
+ if( ! mbedtls_ecdh_can_do( curve_info->grp_id ) )
+ continue;
+
mbedtls_ecdh_init( &ecdh_srv );
mbedtls_ecdh_init( &ecdh_cli );
CHECK_AND_CONTINUE( mbedtls_ecdh_setup( &ecdh_srv, curve_info->grp_id ) );