test: add exception in analyze_outcomes.py and fix test for montgomery curves

The exception in analyze_outcomes.py follows previous commit in which
a test in test_suite_pkparse was set with the ECP_C guard for a different
parsing of the private key between the legacy and PSA implementations.

The wrong guard in test_suite_ecp.function instead was erroneously
added in a past commit and it was setting a non-existing symbol of
mbedTLS so those tests were basically never executed.

Signed-off-by: Valerio Setti <valerio.setti@nordicsemi.no>
This commit is contained in:
Valerio Setti 2023-05-19 17:43:06 +02:00
parent 9efa8c4d14
commit e50a75f6ff
2 changed files with 16 additions and 2 deletions

View file

@ -247,7 +247,21 @@ TASKS = {
'ECP test vectors secp256r1 rfc 5114', 'ECP test vectors secp256r1 rfc 5114',
'ECP test vectors secp384r1 rfc 5114', 'ECP test vectors secp384r1 rfc 5114',
'ECP test vectors secp521r1 rfc 5114', 'ECP test vectors secp521r1 rfc 5114',
] ],
'test_suite_pkparse': [
# This is a known difference for Montgomery curves: in
# reference component private keys are parsed using
# mbedtls_mpi_read_binary_le(), while in driver version they
# they are imported in PSA and there the parsing is done
# through mbedtls_ecp_read_key(). Unfortunately the latter
# fixes the errors which are intentionally set on the parsed
# key and therefore the following test case is not failing
# as expected.
# This cause the following test to be guarded by ECP_C and
# not being executed on the driver version.
('Key ASN1 (OneAsymmetricKey X25519, doesn\'t match masking '
'requirements, from RFC8410 Appendix A but made into version 0)'),
],
} }
} }
}, },

View file

@ -1086,7 +1086,7 @@ exit:
} }
/* END_CASE */ /* END_CASE */
/* BEGIN_CASE depends_on:MBEDTLS_TEST_HOOKS:MBEDTLS_ECP_MONTGOMERY_ENABLED:MBBEDTLS_ECP_C */ /* BEGIN_CASE depends_on:MBEDTLS_TEST_HOOKS:MBEDTLS_ECP_MONTGOMERY_ENABLED:MBEDTLS_ECP_LIGHT */
void genkey_mx_known_answer(int bits, data_t *seed, data_t *expected) void genkey_mx_known_answer(int bits, data_t *seed, data_t *expected)
{ {
mbedtls_test_rnd_buf_info rnd_info; mbedtls_test_rnd_buf_info rnd_info;