mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2026-09-06 10:19:56 +00:00
Merge pull request #10847 from valeriosetti/remove-ecp-deps-backport4.1
[4.1] Reduce dependencies on private `ecp.h` header
This commit is contained in:
@@ -255,8 +255,7 @@ static int ssl_write_supported_groups_ext(mbedtls_ssl_context *ssl,
|
||||
if (flags & SSL_WRITE_SUPPORTED_GROUPS_EXT_TLS1_3_FLAG) {
|
||||
#if defined(PSA_WANT_ALG_ECDH)
|
||||
if (mbedtls_ssl_tls13_named_group_is_ecdhe(*group_list) &&
|
||||
mbedtls_ssl_get_psa_curve_info_from_tls_id(
|
||||
*group_list, NULL, NULL) == PSA_SUCCESS) {
|
||||
(mbedtls_ssl_is_tls_id_supported(*group_list))) {
|
||||
propose_group = 1;
|
||||
}
|
||||
#endif
|
||||
@@ -271,8 +270,7 @@ static int ssl_write_supported_groups_ext(mbedtls_ssl_context *ssl,
|
||||
#if defined(MBEDTLS_SSL_TLS1_2_SOME_ECC)
|
||||
if ((flags & SSL_WRITE_SUPPORTED_GROUPS_EXT_TLS1_2_FLAG) &&
|
||||
mbedtls_ssl_tls12_named_group_is_ecdhe(*group_list) &&
|
||||
(mbedtls_ssl_get_ecp_group_id_from_tls_id(*group_list) !=
|
||||
MBEDTLS_ECP_DP_NONE)) {
|
||||
(mbedtls_ssl_is_tls_id_supported(*group_list))) {
|
||||
propose_group = 1;
|
||||
}
|
||||
#endif /* MBEDTLS_SSL_TLS1_2_SOME_ECC */
|
||||
|
||||
+19
-15
@@ -1502,10 +1502,6 @@ int mbedtls_ssl_set_calc_verify_md(mbedtls_ssl_context *ssl, int md);
|
||||
|
||||
MBEDTLS_CHECK_RETURN_CRITICAL
|
||||
int mbedtls_ssl_check_curve_tls_id(const mbedtls_ssl_context *ssl, uint16_t tls_id);
|
||||
#if defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)
|
||||
MBEDTLS_CHECK_RETURN_CRITICAL
|
||||
int mbedtls_ssl_check_curve(const mbedtls_ssl_context *ssl, mbedtls_ecp_group_id grp_id);
|
||||
#endif /* PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY */
|
||||
|
||||
/**
|
||||
* \brief Return PSA EC info for the specified TLS ID.
|
||||
@@ -1528,22 +1524,31 @@ int mbedtls_ssl_get_psa_curve_info_from_tls_id(uint16_t tls_id,
|
||||
size_t *bits);
|
||||
|
||||
/**
|
||||
* \brief Return \c mbedtls_ecp_group_id for the specified TLS ID.
|
||||
* \brief Tell if a TLS group ID is supported or not.
|
||||
*
|
||||
* \param tls_id The TLS ID to look for
|
||||
* \return Proper \c mbedtls_ecp_group_id if the TLS ID is supported,
|
||||
* or MBEDTLS_ECP_DP_NONE otherwise
|
||||
* \param tls_id The TLS ID to look for.
|
||||
* \return 1 if specified TLS ID is supported, 0 otherwise.
|
||||
*/
|
||||
mbedtls_ecp_group_id mbedtls_ssl_get_ecp_group_id_from_tls_id(uint16_t tls_id);
|
||||
int mbedtls_ssl_is_tls_id_supported(uint16_t tls_id);
|
||||
|
||||
/**
|
||||
* \brief Return TLS ID for the specified \c mbedtls_ecp_group_id.
|
||||
* \brief Return TLS ID for the specified curve.
|
||||
*
|
||||
* \param grp_id The \c mbedtls_ecp_group_id ID to look for
|
||||
* \return Proper TLS ID if the \c mbedtls_ecp_group_id is supported,
|
||||
* \param family The \c psa_ecc_family_t for the TLS ID to look for.
|
||||
* \param bits The bit size for the TLS ID to look for.
|
||||
* \return Proper TLS ID if the specified EC group is supported,
|
||||
* or 0 otherwise
|
||||
*/
|
||||
uint16_t mbedtls_ssl_get_tls_id_from_ecp_group_id(mbedtls_ecp_group_id grp_id);
|
||||
uint16_t mbedtls_ssl_get_tls_id_from_curve_info(psa_ecc_family_t family, size_t bits);
|
||||
|
||||
/**
|
||||
* \brief Return the number of supported TLS group IDs + 1.
|
||||
*
|
||||
* \return Number of supported TLS group IDs in \c tls_id_match_table + 1.
|
||||
* In other words the returned value concides with the array length
|
||||
* of \c tls_id_match_table.
|
||||
*/
|
||||
size_t mbedtls_ssl_get_supported_tls_id_count(void);
|
||||
|
||||
#if defined(MBEDTLS_DEBUG_C)
|
||||
/**
|
||||
@@ -2249,8 +2254,7 @@ static inline int mbedtls_ssl_named_group_is_supported(uint16_t named_group)
|
||||
{
|
||||
#if defined(PSA_WANT_ALG_ECDH)
|
||||
if (mbedtls_ssl_tls13_named_group_is_ecdhe(named_group)) {
|
||||
if (mbedtls_ssl_get_ecp_group_id_from_tls_id(named_group) !=
|
||||
MBEDTLS_ECP_DP_NONE) {
|
||||
if (mbedtls_ssl_is_tls_id_supported(named_group)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
+29
-36
@@ -5796,57 +5796,40 @@ int mbedtls_ssl_check_curve_tls_id(const mbedtls_ssl_context *ssl, uint16_t tls_
|
||||
return -1;
|
||||
}
|
||||
|
||||
#if defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)
|
||||
/*
|
||||
* Same as mbedtls_ssl_check_curve_tls_id() but with a mbedtls_ecp_group_id.
|
||||
*/
|
||||
int mbedtls_ssl_check_curve(const mbedtls_ssl_context *ssl, mbedtls_ecp_group_id grp_id)
|
||||
{
|
||||
uint16_t tls_id = mbedtls_ssl_get_tls_id_from_ecp_group_id(grp_id);
|
||||
|
||||
if (tls_id == 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return mbedtls_ssl_check_curve_tls_id(ssl, tls_id);
|
||||
}
|
||||
#endif /* PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY */
|
||||
|
||||
static const struct {
|
||||
uint16_t tls_id;
|
||||
mbedtls_ecp_group_id ecp_group_id;
|
||||
psa_ecc_family_t psa_family;
|
||||
uint16_t bits;
|
||||
} tls_id_match_table[] =
|
||||
{
|
||||
#if defined(PSA_WANT_ECC_SECP_R1_521)
|
||||
{ 25, MBEDTLS_ECP_DP_SECP521R1, PSA_ECC_FAMILY_SECP_R1, 521 },
|
||||
{ 25, PSA_ECC_FAMILY_SECP_R1, 521 },
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_512)
|
||||
{ 28, MBEDTLS_ECP_DP_BP512R1, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 512 },
|
||||
{ 28, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 512 },
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_SECP_R1_384)
|
||||
{ 24, MBEDTLS_ECP_DP_SECP384R1, PSA_ECC_FAMILY_SECP_R1, 384 },
|
||||
{ 24, PSA_ECC_FAMILY_SECP_R1, 384 },
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_384)
|
||||
{ 27, MBEDTLS_ECP_DP_BP384R1, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 384 },
|
||||
{ 27, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 384 },
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_SECP_R1_256)
|
||||
{ 23, MBEDTLS_ECP_DP_SECP256R1, PSA_ECC_FAMILY_SECP_R1, 256 },
|
||||
{ 23, PSA_ECC_FAMILY_SECP_R1, 256 },
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_SECP_K1_256)
|
||||
{ 22, MBEDTLS_ECP_DP_SECP256K1, PSA_ECC_FAMILY_SECP_K1, 256 },
|
||||
{ 22, PSA_ECC_FAMILY_SECP_K1, 256 },
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_256)
|
||||
{ 26, MBEDTLS_ECP_DP_BP256R1, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 256 },
|
||||
{ 26, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 256 },
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_MONTGOMERY_255)
|
||||
{ 29, MBEDTLS_ECP_DP_CURVE25519, PSA_ECC_FAMILY_MONTGOMERY, 255 },
|
||||
{ 29, PSA_ECC_FAMILY_MONTGOMERY, 255 },
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_MONTGOMERY_448)
|
||||
{ 30, MBEDTLS_ECP_DP_CURVE448, PSA_ECC_FAMILY_MONTGOMERY, 448 },
|
||||
{ 30, PSA_ECC_FAMILY_MONTGOMERY, 448 },
|
||||
#endif
|
||||
{ 0, MBEDTLS_ECP_DP_NONE, 0, 0 },
|
||||
{ 0, 0, 0 },
|
||||
};
|
||||
|
||||
int mbedtls_ssl_get_psa_curve_info_from_tls_id(uint16_t tls_id,
|
||||
@@ -5868,22 +5851,22 @@ int mbedtls_ssl_get_psa_curve_info_from_tls_id(uint16_t tls_id,
|
||||
return PSA_ERROR_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
mbedtls_ecp_group_id mbedtls_ssl_get_ecp_group_id_from_tls_id(uint16_t tls_id)
|
||||
int mbedtls_ssl_is_tls_id_supported(uint16_t tls_id)
|
||||
{
|
||||
for (int i = 0; tls_id_match_table[i].tls_id != 0; i++) {
|
||||
if (tls_id_match_table[i].tls_id == tls_id) {
|
||||
return tls_id_match_table[i].ecp_group_id;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return MBEDTLS_ECP_DP_NONE;
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint16_t mbedtls_ssl_get_tls_id_from_ecp_group_id(mbedtls_ecp_group_id grp_id)
|
||||
uint16_t mbedtls_ssl_get_tls_id_from_curve_info(psa_ecc_family_t family, size_t bits)
|
||||
{
|
||||
for (int i = 0; tls_id_match_table[i].ecp_group_id != MBEDTLS_ECP_DP_NONE;
|
||||
i++) {
|
||||
if (tls_id_match_table[i].ecp_group_id == grp_id) {
|
||||
for (int i = 0; tls_id_match_table[i].tls_id != 0; i++) {
|
||||
if ((tls_id_match_table[i].psa_family == family) &&
|
||||
(tls_id_match_table[i].bits == bits)) {
|
||||
return tls_id_match_table[i].tls_id;
|
||||
}
|
||||
}
|
||||
@@ -5891,6 +5874,11 @@ uint16_t mbedtls_ssl_get_tls_id_from_ecp_group_id(mbedtls_ecp_group_id grp_id)
|
||||
return 0;
|
||||
}
|
||||
|
||||
size_t mbedtls_ssl_get_supported_tls_id_count(void)
|
||||
{
|
||||
return ARRAY_LENGTH(tls_id_match_table);
|
||||
}
|
||||
|
||||
#if defined(MBEDTLS_DEBUG_C)
|
||||
mbedtls_ssl_iana_tls_group_info_t mbedtls_ssl_iana_tls_group_info[] =
|
||||
MBEDTLS_SSL_IANA_TLS_GROUPS_INFO;
|
||||
@@ -8830,8 +8818,13 @@ int mbedtls_ssl_verify_certificate(mbedtls_ssl_context *ssl,
|
||||
#if defined(MBEDTLS_SSL_PROTO_TLS1_2) && \
|
||||
defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)
|
||||
if (ssl->tls_version == MBEDTLS_SSL_VERSION_TLS1_2 &&
|
||||
PSA_KEY_TYPE_IS_ECC(mbedtls_pk_get_type(&chain->pk))) {
|
||||
if (mbedtls_ssl_check_curve(ssl, mbedtls_pk_get_ec_group_id(&chain->pk)) != 0) {
|
||||
PSA_KEY_TYPE_IS_ECC(mbedtls_pk_get_key_type(&chain->pk))) {
|
||||
psa_key_type_t key_type = mbedtls_pk_get_key_type(&chain->pk);
|
||||
psa_ecc_family_t ec_family = PSA_KEY_TYPE_ECC_GET_FAMILY(key_type);
|
||||
size_t bits = mbedtls_pk_get_bitlen(&chain->pk);
|
||||
int tls_id = mbedtls_ssl_get_tls_id_from_curve_info(ec_family, bits);
|
||||
|
||||
if (mbedtls_ssl_check_curve_tls_id(ssl, tls_id) != 0) {
|
||||
MBEDTLS_SSL_DEBUG_MSG(1, ("bad certificate (EC key curve)"));
|
||||
ssl->session_negotiate->verify_result |= MBEDTLS_X509_BADCERT_BAD_KEY;
|
||||
if (ret == 0) {
|
||||
|
||||
@@ -1934,8 +1934,7 @@ start_processing:
|
||||
MBEDTLS_SSL_CHK_BUF_READ_PTR(p, end, 3);
|
||||
|
||||
uint16_t read_tls_id = MBEDTLS_GET_UINT16_BE(p, 1);
|
||||
uint16_t exp_tls_id = mbedtls_ssl_get_tls_id_from_ecp_group_id(
|
||||
MBEDTLS_ECP_DP_SECP256R1);
|
||||
uint16_t exp_tls_id = mbedtls_ssl_get_tls_id_from_curve_info(PSA_ECC_FAMILY_SECP_R1, 256);
|
||||
|
||||
if (exp_tls_id == 0) {
|
||||
return MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE;
|
||||
|
||||
+20
-10
@@ -202,8 +202,8 @@ static int ssl_parse_supported_groups_ext(mbedtls_ssl_context *ssl,
|
||||
/* Don't allow our peer to make us allocate too much memory,
|
||||
* and leave room for a final 0 */
|
||||
our_size = list_size / 2 + 1;
|
||||
if (our_size > MBEDTLS_ECP_DP_MAX) {
|
||||
our_size = MBEDTLS_ECP_DP_MAX;
|
||||
if (our_size > mbedtls_ssl_get_supported_tls_id_count()) {
|
||||
our_size = mbedtls_ssl_get_supported_tls_id_count();
|
||||
}
|
||||
|
||||
if ((curves_tls_id = mbedtls_calloc(our_size,
|
||||
@@ -219,8 +219,7 @@ static int ssl_parse_supported_groups_ext(mbedtls_ssl_context *ssl,
|
||||
while (list_size > 0 && our_size > 1) {
|
||||
uint16_t curr_tls_id = MBEDTLS_GET_UINT16_BE(p, 0);
|
||||
|
||||
if (mbedtls_ssl_get_ecp_group_id_from_tls_id(curr_tls_id) !=
|
||||
MBEDTLS_ECP_DP_NONE) {
|
||||
if (mbedtls_ssl_is_tls_id_supported(curr_tls_id)) {
|
||||
*curves_tls_id++ = curr_tls_id;
|
||||
our_size--;
|
||||
}
|
||||
@@ -630,12 +629,24 @@ static int ssl_check_key_curve(mbedtls_pk_context *pk,
|
||||
uint16_t *curves_tls_id)
|
||||
{
|
||||
uint16_t *curr_tls_id = curves_tls_id;
|
||||
mbedtls_ecp_group_id grp_id = mbedtls_pk_get_ec_group_id(pk);
|
||||
mbedtls_ecp_group_id curr_grp_id;
|
||||
psa_key_type_t key_type = mbedtls_pk_get_key_type(pk);
|
||||
size_t key_bits = mbedtls_pk_get_bitlen(pk);
|
||||
psa_key_type_t curr_key_type;
|
||||
size_t curr_key_bits;
|
||||
psa_status_t status;
|
||||
|
||||
while (*curr_tls_id != 0) {
|
||||
curr_grp_id = mbedtls_ssl_get_ecp_group_id_from_tls_id(*curr_tls_id);
|
||||
if (curr_grp_id == grp_id) {
|
||||
status = mbedtls_ssl_get_psa_curve_info_from_tls_id(*curr_tls_id,
|
||||
&curr_key_type, &curr_key_bits);
|
||||
if (status != PSA_SUCCESS) {
|
||||
/* This TLS group ID is not supported. Move to the next one. */
|
||||
curr_tls_id++;
|
||||
continue;
|
||||
}
|
||||
/* Check if EC family type and key bits for the current TLS group ID are the
|
||||
* same as the ones in the provided PK context. */
|
||||
if ((PSA_KEY_TYPE_ECC_GET_FAMILY(key_type) == PSA_KEY_TYPE_ECC_GET_FAMILY(curr_key_type)) &&
|
||||
(key_bits == curr_key_bits)) {
|
||||
return 0;
|
||||
}
|
||||
curr_tls_id++;
|
||||
@@ -2486,8 +2497,7 @@ static int ssl_prepare_server_key_exchange(mbedtls_ssl_context *ssl,
|
||||
* However since we only support secp256r1 for now, we hardcode its
|
||||
* TLS ID here
|
||||
*/
|
||||
uint16_t tls_id = mbedtls_ssl_get_tls_id_from_ecp_group_id(
|
||||
MBEDTLS_ECP_DP_SECP256R1);
|
||||
uint16_t tls_id = mbedtls_ssl_get_tls_id_from_curve_info(PSA_ECC_FAMILY_SECP_R1, 256);
|
||||
if (tls_id == 0) {
|
||||
return MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE;
|
||||
}
|
||||
|
||||
@@ -727,23 +727,19 @@ int mbedtls_test_get_tls13_ticket(
|
||||
mbedtls_ssl_set_hs_ecjpake_password(&ssl, pwd_string, pwd_len); \
|
||||
TEST_EQUAL(ret, exp_ret_val)
|
||||
|
||||
#define TEST_AVAILABLE_ECC(tls_id_, group_id_, psa_family_, psa_bits_) \
|
||||
TEST_EQUAL(mbedtls_ssl_get_ecp_group_id_from_tls_id(tls_id_), \
|
||||
group_id_); \
|
||||
TEST_EQUAL(mbedtls_ssl_get_tls_id_from_ecp_group_id(group_id_), \
|
||||
tls_id_); \
|
||||
TEST_EQUAL(mbedtls_ssl_get_psa_curve_info_from_tls_id(tls_id_, \
|
||||
&psa_type, &psa_bits), PSA_SUCCESS); \
|
||||
TEST_EQUAL(psa_family_, PSA_KEY_TYPE_ECC_GET_FAMILY(psa_type)); \
|
||||
#define TEST_AVAILABLE_ECC(tls_id_, psa_family_, psa_bits_) \
|
||||
TEST_EQUAL(mbedtls_ssl_is_tls_id_supported(tls_id_), 1); \
|
||||
TEST_EQUAL(mbedtls_ssl_get_tls_id_from_curve_info(psa_family_, psa_bits_), tls_id_); \
|
||||
TEST_EQUAL(mbedtls_ssl_get_psa_curve_info_from_tls_id(tls_id_, \
|
||||
&psa_type, &psa_bits), PSA_SUCCESS); \
|
||||
TEST_EQUAL(psa_family_, PSA_KEY_TYPE_ECC_GET_FAMILY(psa_type)); \
|
||||
TEST_EQUAL(psa_bits_, psa_bits);
|
||||
|
||||
#define TEST_UNAVAILABLE_ECC(tls_id_, group_id_, psa_family_, psa_bits_) \
|
||||
TEST_EQUAL(mbedtls_ssl_get_ecp_group_id_from_tls_id(tls_id_), \
|
||||
MBEDTLS_ECP_DP_NONE); \
|
||||
TEST_EQUAL(mbedtls_ssl_get_tls_id_from_ecp_group_id(group_id_), \
|
||||
0); \
|
||||
TEST_EQUAL(mbedtls_ssl_get_psa_curve_info_from_tls_id(tls_id_, \
|
||||
&psa_type, &psa_bits), \
|
||||
#define TEST_UNAVAILABLE_ECC(tls_id_, psa_family_, psa_bits_) \
|
||||
TEST_EQUAL(mbedtls_ssl_is_tls_id_supported(tls_id_), 0); \
|
||||
TEST_EQUAL(mbedtls_ssl_get_tls_id_from_curve_info(psa_family_, psa_bits_), 0); \
|
||||
TEST_EQUAL(mbedtls_ssl_get_psa_curve_info_from_tls_id(tls_id_, \
|
||||
&psa_type, &psa_bits), \
|
||||
PSA_ERROR_NOT_SUPPORTED);
|
||||
|
||||
/**
|
||||
|
||||
@@ -4616,49 +4616,49 @@ void elliptic_curve_get_properties()
|
||||
MD_OR_USE_PSA_INIT();
|
||||
|
||||
#if defined(PSA_WANT_ECC_SECP_R1_521)
|
||||
TEST_AVAILABLE_ECC(25, MBEDTLS_ECP_DP_SECP521R1, PSA_ECC_FAMILY_SECP_R1, 521);
|
||||
TEST_AVAILABLE_ECC(25, PSA_ECC_FAMILY_SECP_R1, 521);
|
||||
#else
|
||||
TEST_UNAVAILABLE_ECC(25, MBEDTLS_ECP_DP_SECP521R1, PSA_ECC_FAMILY_SECP_R1, 521);
|
||||
TEST_UNAVAILABLE_ECC(25, PSA_ECC_FAMILY_SECP_R1, 521);
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_512)
|
||||
TEST_AVAILABLE_ECC(28, MBEDTLS_ECP_DP_BP512R1, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 512);
|
||||
TEST_AVAILABLE_ECC(28, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 512);
|
||||
#else
|
||||
TEST_UNAVAILABLE_ECC(28, MBEDTLS_ECP_DP_BP512R1, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 512);
|
||||
TEST_UNAVAILABLE_ECC(28, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 512);
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_SECP_R1_384)
|
||||
TEST_AVAILABLE_ECC(24, MBEDTLS_ECP_DP_SECP384R1, PSA_ECC_FAMILY_SECP_R1, 384);
|
||||
TEST_AVAILABLE_ECC(24, PSA_ECC_FAMILY_SECP_R1, 384);
|
||||
#else
|
||||
TEST_UNAVAILABLE_ECC(24, MBEDTLS_ECP_DP_SECP384R1, PSA_ECC_FAMILY_SECP_R1, 384);
|
||||
TEST_UNAVAILABLE_ECC(24, PSA_ECC_FAMILY_SECP_R1, 384);
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_384)
|
||||
TEST_AVAILABLE_ECC(27, MBEDTLS_ECP_DP_BP384R1, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 384);
|
||||
TEST_AVAILABLE_ECC(27, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 384);
|
||||
#else
|
||||
TEST_UNAVAILABLE_ECC(27, MBEDTLS_ECP_DP_BP384R1, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 384);
|
||||
TEST_UNAVAILABLE_ECC(27, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 384);
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_SECP_R1_256)
|
||||
TEST_AVAILABLE_ECC(23, MBEDTLS_ECP_DP_SECP256R1, PSA_ECC_FAMILY_SECP_R1, 256);
|
||||
TEST_AVAILABLE_ECC(23, PSA_ECC_FAMILY_SECP_R1, 256);
|
||||
#else
|
||||
TEST_UNAVAILABLE_ECC(23, MBEDTLS_ECP_DP_SECP256R1, PSA_ECC_FAMILY_SECP_R1, 256);
|
||||
TEST_UNAVAILABLE_ECC(23, PSA_ECC_FAMILY_SECP_R1, 256);
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_SECP_K1_256)
|
||||
TEST_AVAILABLE_ECC(22, MBEDTLS_ECP_DP_SECP256K1, PSA_ECC_FAMILY_SECP_K1, 256);
|
||||
TEST_AVAILABLE_ECC(22, PSA_ECC_FAMILY_SECP_K1, 256);
|
||||
#else
|
||||
TEST_UNAVAILABLE_ECC(22, MBEDTLS_ECP_DP_SECP256K1, PSA_ECC_FAMILY_SECP_K1, 256);
|
||||
TEST_UNAVAILABLE_ECC(22, PSA_ECC_FAMILY_SECP_K1, 256);
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_BRAINPOOL_P_R1_256)
|
||||
TEST_AVAILABLE_ECC(26, MBEDTLS_ECP_DP_BP256R1, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 256);
|
||||
TEST_AVAILABLE_ECC(26, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 256);
|
||||
#else
|
||||
TEST_UNAVAILABLE_ECC(26, MBEDTLS_ECP_DP_BP256R1, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 256);
|
||||
TEST_UNAVAILABLE_ECC(26, PSA_ECC_FAMILY_BRAINPOOL_P_R1, 256);
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_MONTGOMERY_255)
|
||||
TEST_AVAILABLE_ECC(29, MBEDTLS_ECP_DP_CURVE25519, PSA_ECC_FAMILY_MONTGOMERY, 255);
|
||||
TEST_AVAILABLE_ECC(29, PSA_ECC_FAMILY_MONTGOMERY, 255);
|
||||
#else
|
||||
TEST_UNAVAILABLE_ECC(29, MBEDTLS_ECP_DP_CURVE25519, PSA_ECC_FAMILY_MONTGOMERY, 255);
|
||||
TEST_UNAVAILABLE_ECC(29, PSA_ECC_FAMILY_MONTGOMERY, 255);
|
||||
#endif
|
||||
#if defined(PSA_WANT_ECC_MONTGOMERY_448)
|
||||
TEST_AVAILABLE_ECC(30, MBEDTLS_ECP_DP_CURVE448, PSA_ECC_FAMILY_MONTGOMERY, 448);
|
||||
TEST_AVAILABLE_ECC(30, PSA_ECC_FAMILY_MONTGOMERY, 448);
|
||||
#else
|
||||
TEST_UNAVAILABLE_ECC(30, MBEDTLS_ECP_DP_CURVE448, PSA_ECC_FAMILY_MONTGOMERY, 448);
|
||||
TEST_UNAVAILABLE_ECC(30, PSA_ECC_FAMILY_MONTGOMERY, 448);
|
||||
#endif
|
||||
goto exit;
|
||||
exit:
|
||||
|
||||
Reference in New Issue
Block a user