You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The EC J-PAKE module uses MD in order to compute a hash at various points. This doesn't work when hashes are only provided by drivers; this is task is to make it work.
Store a mbedtls_md_type_t instead of a mbedtls_md_info_t * in the context structure (we can because it's a private member) and adapt users. We can use mbedtls_hash_info_get_size() from library/hash_info.h to replace mbedtls_md_get_size().
For each invocation of mbedtls_md(), add an alternative based on PSA, to be used only when MD_C is not available (in order to preserve backwards compatibility: the PSA version requires psa_crypto_init() to have been called, we don't want to impose this requirement on existing code, but we can impose it in builds where this just didn't work at all before). Possibly create a very small helper function for that, see compute_hash() in rsa.c in Driver hashes rsa v21 #6141.
Adjust the dependency in check_config.h: ECJPAKE now only requires MD_C || PSA_CRYPTO_C (in addition to ECP_C as before). Adjust the description in mbedtls_config.h with a warning (as in Driver hashes rsa v21 #6141).
Remove the unset ECJPAKE_C lines from all.sh components component_test_crypto_full_no_md() and component_test_psa_crypto_config_accel_hash_use_psa().
Adjust dependencies in test_suite_ecjpake.function, replacing MBEDTLS_SHA256_C with MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA (from legacy_or_psa.h which needs to be #included in the .function file).
Fix any issue that may arise.
Check test coverage for test_suite_ecjpake: see docs/architecture/psa-migration/outcome-analysis.sh (don't forget to remove unset ECJPAKE_C in reference_config() and edit SUITES in your copy).
The text was updated successfully, but these errors were encountered:
The EC J-PAKE module uses MD in order to compute a hash at various points. This doesn't work when hashes are only provided by drivers; this is task is to make it work.
mbedtls_md_type_t
instead of ambedtls_md_info_t *
in the context structure (we can because it's a private member) and adapt users. We can usembedtls_hash_info_get_size()
fromlibrary/hash_info.h
to replacembedtls_md_get_size()
.mbedtls_md()
, add an alternative based on PSA, to be used only whenMD_C
is not available (in order to preserve backwards compatibility: the PSA version requirespsa_crypto_init()
to have been called, we don't want to impose this requirement on existing code, but we can impose it in builds where this just didn't work at all before). Possibly create a very small helper function for that, seecompute_hash()
inrsa.c
in Driver hashes rsa v21 #6141.check_config.h
: ECJPAKE now only requiresMD_C || PSA_CRYPTO_C
(in addition toECP_C
as before). Adjust the description inmbedtls_config.h
with a warning (as in Driver hashes rsa v21 #6141).unset ECJPAKE_C
lines fromall.sh
componentscomponent_test_crypto_full_no_md()
andcomponent_test_psa_crypto_config_accel_hash_use_psa()
.test_suite_ecjpake.function
, replacingMBEDTLS_SHA256_C
withMBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA
(fromlegacy_or_psa.h
which needs to be#include
d in the.function
file).test_suite_ecjpake
: seedocs/architecture/psa-migration/outcome-analysis.sh
(don't forget to removeunset ECJPAKE_C
inreference_config()
and editSUITES
in your copy).The text was updated successfully, but these errors were encountered: