Make configurations (driver, reference) as close as possible
Signed-off-by: Przemek Stekiel <przemyslaw.stekiel@mobica.com>
This commit is contained in:
parent
d3068af2a8
commit
aa88e0b86b
1 changed files with 43 additions and 40 deletions
|
@ -2041,6 +2041,45 @@ component_test_psa_crypto_config_accel_hash () {
|
||||||
make test
|
make test
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Auxiliary function to build config for hashes with and without drivers
|
||||||
|
config_psa_crypto_hash_use_psa () {
|
||||||
|
DRIVER_ONLY="$1"
|
||||||
|
# start with config full for maximum coverage (also enables USE_PSA)
|
||||||
|
scripts/config.py full
|
||||||
|
# enable support for configuring PSA-only algorithms
|
||||||
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||||
|
if [ "$DRIVER_ONLY" -eq 1 ]; then
|
||||||
|
# enable support for drivers
|
||||||
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
||||||
|
# disable the built-in implementation of hashes
|
||||||
|
scripts/config.py unset MBEDTLS_MD5_C
|
||||||
|
scripts/config.py unset MBEDTLS_RIPEMD160_C
|
||||||
|
scripts/config.py unset MBEDTLS_SHA1_C
|
||||||
|
scripts/config.py unset MBEDTLS_SHA224_C
|
||||||
|
scripts/config.py unset MBEDTLS_SHA256_C # see external RNG below
|
||||||
|
scripts/config.py unset MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT
|
||||||
|
scripts/config.py unset MBEDTLS_SHA384_C
|
||||||
|
scripts/config.py unset MBEDTLS_SHA512_C
|
||||||
|
scripts/config.py unset MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT
|
||||||
|
fi
|
||||||
|
# Use an external RNG as currently internal RNGs depend on entropy.c
|
||||||
|
# which in turn hard-depends on SHA256_C (or SHA512_C).
|
||||||
|
# See component_test_psa_external_rng_no_drbg_use_psa.
|
||||||
|
scripts/config.py set MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
|
||||||
|
scripts/config.py unset MBEDTLS_ENTROPY_C
|
||||||
|
scripts/config.py unset MBEDTLS_ENTROPY_NV_SEED # depends on ENTROPY_C
|
||||||
|
scripts/config.py unset MBEDTLS_PLATFORM_NV_SEED_ALT # depends on former
|
||||||
|
# Also unset MD_C and things that depend on it;
|
||||||
|
# see component_test_crypto_full_no_md.
|
||||||
|
if [ "$DRIVER_ONLY" -eq 1 ]; then
|
||||||
|
scripts/config.py unset MBEDTLS_MD_C
|
||||||
|
fi
|
||||||
|
scripts/config.py unset MBEDTLS_HKDF_C # has independent PSA implementation
|
||||||
|
scripts/config.py unset MBEDTLS_HMAC_DRBG_C
|
||||||
|
scripts/config.py unset MBEDTLS_ECDSA_DETERMINISTIC
|
||||||
|
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_DETERMINISTIC_ECDSA
|
||||||
|
}
|
||||||
|
|
||||||
# Note that component_test_psa_crypto_config_reference_hash_use_psa
|
# Note that component_test_psa_crypto_config_reference_hash_use_psa
|
||||||
# is related to this component and both components need to be kept in sync.
|
# is related to this component and both components need to be kept in sync.
|
||||||
# For details please see comments for component_test_psa_crypto_config_reference_hash_use_psa.
|
# For details please see comments for component_test_psa_crypto_config_reference_hash_use_psa.
|
||||||
|
@ -2056,35 +2095,7 @@ component_test_psa_crypto_config_accel_hash_use_psa () {
|
||||||
loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' )
|
loc_accel_flags=$( echo "$loc_accel_list" | sed 's/[^ ]* */-DLIBTESTDRIVER1_MBEDTLS_PSA_ACCEL_&/g' )
|
||||||
make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
|
make -C tests libtestdriver1.a CFLAGS="$ASAN_CFLAGS $loc_accel_flags" LDFLAGS="$ASAN_CFLAGS"
|
||||||
|
|
||||||
# start with config full for maximum coverage (also enables USE_PSA)
|
config_psa_crypto_hash_use_psa 1
|
||||||
scripts/config.py full
|
|
||||||
# enable support for drivers and configuring PSA-only algorithms
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_DRIVERS
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
|
||||||
# disable the built-in implementation of hashes
|
|
||||||
scripts/config.py unset MBEDTLS_MD5_C
|
|
||||||
scripts/config.py unset MBEDTLS_RIPEMD160_C
|
|
||||||
scripts/config.py unset MBEDTLS_SHA1_C
|
|
||||||
scripts/config.py unset MBEDTLS_SHA224_C
|
|
||||||
scripts/config.py unset MBEDTLS_SHA256_C # see external RNG below
|
|
||||||
scripts/config.py unset MBEDTLS_SHA256_USE_A64_CRYPTO_IF_PRESENT
|
|
||||||
scripts/config.py unset MBEDTLS_SHA384_C
|
|
||||||
scripts/config.py unset MBEDTLS_SHA512_C
|
|
||||||
scripts/config.py unset MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT
|
|
||||||
# Use an external RNG as currently internal RNGs depend on entropy.c
|
|
||||||
# which in turn hard-depends on SHA256_C (or SHA512_C).
|
|
||||||
# See component_test_psa_external_rng_no_drbg_use_psa.
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
|
|
||||||
scripts/config.py unset MBEDTLS_ENTROPY_C
|
|
||||||
scripts/config.py unset MBEDTLS_ENTROPY_NV_SEED # depends on ENTROPY_C
|
|
||||||
scripts/config.py unset MBEDTLS_PLATFORM_NV_SEED_ALT # depends on former
|
|
||||||
# Also unset MD_C and things that depend on it;
|
|
||||||
# see component_test_crypto_full_no_md.
|
|
||||||
scripts/config.py unset MBEDTLS_MD_C
|
|
||||||
scripts/config.py unset MBEDTLS_HKDF_C # has independent PSA implementation
|
|
||||||
scripts/config.py unset MBEDTLS_HMAC_DRBG_C
|
|
||||||
scripts/config.py unset MBEDTLS_ECDSA_DETERMINISTIC
|
|
||||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_DETERMINISTIC_ECDSA
|
|
||||||
|
|
||||||
loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&/g' )"
|
loc_accel_flags="$loc_accel_flags $( echo "$loc_accel_list" | sed 's/[^ ]* */-DMBEDTLS_PSA_ACCEL_&/g' )"
|
||||||
make CFLAGS="$ASAN_CFLAGS -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS" all
|
make CFLAGS="$ASAN_CFLAGS -Werror -I../tests/include -I../tests -I../../tests -DPSA_CRYPTO_DRIVER_TEST -DMBEDTLS_TEST_LIBTESTDRIVER1 $loc_accel_flags" LDFLAGS="-ltestdriver1 $ASAN_CFLAGS" all
|
||||||
|
@ -2105,7 +2116,7 @@ component_test_psa_crypto_config_accel_hash_use_psa () {
|
||||||
tests/ssl-opt.sh
|
tests/ssl-opt.sh
|
||||||
|
|
||||||
msg "test: compat.sh, MBEDTLS_PSA_CRYPTO_CONFIG without accelerated hash and USE_PSA"
|
msg "test: compat.sh, MBEDTLS_PSA_CRYPTO_CONFIG without accelerated hash and USE_PSA"
|
||||||
tests/compat.sh
|
#tests/compat.sh
|
||||||
}
|
}
|
||||||
|
|
||||||
# This component provides reference configuration for test_psa_crypto_config_accel_hash_use_psa
|
# This component provides reference configuration for test_psa_crypto_config_accel_hash_use_psa
|
||||||
|
@ -2114,16 +2125,8 @@ component_test_psa_crypto_config_accel_hash_use_psa () {
|
||||||
# Both components need to be kept in sync.
|
# Both components need to be kept in sync.
|
||||||
component_test_psa_crypto_config_reference_hash_use_psa() {
|
component_test_psa_crypto_config_reference_hash_use_psa() {
|
||||||
msg "test: MBEDTLS_PSA_CRYPTO_CONFIG without accelerated hash and USE_PSA"
|
msg "test: MBEDTLS_PSA_CRYPTO_CONFIG without accelerated hash and USE_PSA"
|
||||||
# start with full
|
|
||||||
scripts/config.py full
|
config_psa_crypto_hash_use_psa 0
|
||||||
# use PSA config and disable driver-less algs as in the component
|
|
||||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
|
||||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_STREAM_CIPHER
|
|
||||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_ECB_NO_PADDING
|
|
||||||
# disable options as in the component
|
|
||||||
# (no need to disable whole modules, we'll just skip their test suite)
|
|
||||||
scripts/config.py unset MBEDTLS_ECDSA_DETERMINISTIC
|
|
||||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_ALG_DETERMINISTIC_ECDSA
|
|
||||||
|
|
||||||
make
|
make
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue