Merge pull request #8489 from valeriosetti/issue8482
Make CCM* and CCM independent
This commit is contained in:
commit
473ff34d59
7 changed files with 90 additions and 17 deletions
|
@ -1635,6 +1635,59 @@ component_test_full_no_cipher_with_crypto_config() {
|
|||
common_test_full_no_cipher_with_psa_crypto 1 "full no CIPHER"
|
||||
}
|
||||
|
||||
component_test_full_no_ccm() {
|
||||
msg "build: full no PSA_WANT_ALG_CCM"
|
||||
|
||||
# Full config enables:
|
||||
# - USE_PSA_CRYPTO so that TLS code dispatches cipher/AEAD to PSA
|
||||
# - CRYPTO_CONFIG so that PSA_WANT config symbols are evaluated
|
||||
scripts/config.py full
|
||||
|
||||
# Disable PSA_WANT_ALG_CCM so that CCM is not supported in PSA. CCM_C is still
|
||||
# enabled, but not used from TLS since USE_PSA is set.
|
||||
# This is helpful to ensure that TLS tests below have proper dependencies.
|
||||
#
|
||||
# Note: also PSA_WANT_ALG_CCM_STAR_NO_TAG is enabled, but it does not cause
|
||||
# PSA_WANT_ALG_CCM to be re-enabled.
|
||||
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_ALG_CCM
|
||||
|
||||
make
|
||||
|
||||
msg "test: full no PSA_WANT_ALG_CCM"
|
||||
make test
|
||||
}
|
||||
|
||||
component_test_full_no_ccm_star_no_tag() {
|
||||
msg "build: full no PSA_WANT_ALG_CCM_STAR_NO_TAG"
|
||||
|
||||
# Full config enables CRYPTO_CONFIG so that PSA_WANT config symbols are evaluated
|
||||
scripts/config.py full
|
||||
|
||||
# Disable CCM_STAR_NO_TAG, which is the target of this test, as well as all
|
||||
# other components that enable MBEDTLS_PSA_BUILTIN_CIPHER internal symbol.
|
||||
# This basically disables all unauthenticated ciphers on the PSA side, while
|
||||
# keeping AEADs enabled.
|
||||
#
|
||||
# Note: PSA_WANT_ALG_CCM is enabled, but it does not cause
|
||||
# PSA_WANT_ALG_CCM_STAR_NO_TAG to be re-enabled.
|
||||
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_ALG_CCM_STAR_NO_TAG
|
||||
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_ALG_STREAM_CIPHER
|
||||
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_ALG_CTR
|
||||
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_ALG_CFB
|
||||
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_ALG_OFB
|
||||
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_ALG_ECB_NO_PADDING
|
||||
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_ALG_CBC_NO_PADDING
|
||||
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_ALG_CBC_PKCS7
|
||||
|
||||
make
|
||||
|
||||
# Ensure MBEDTLS_PSA_BUILTIN_CIPHER was not enabled
|
||||
not grep mbedtls_psa_cipher library/psa_crypto_cipher.o
|
||||
|
||||
msg "test: full no PSA_WANT_ALG_CCM_STAR_NO_TAG"
|
||||
make test
|
||||
}
|
||||
|
||||
component_test_full_no_bignum () {
|
||||
msg "build: full minus bignum"
|
||||
scripts/config.py full
|
||||
|
@ -3649,6 +3702,9 @@ component_test_psa_crypto_config_accel_aead () {
|
|||
scripts/config.py unset MBEDTLS_CCM_C
|
||||
scripts/config.py unset MBEDTLS_CHACHAPOLY_C
|
||||
|
||||
# Disable CCM_STAR_NO_TAG because this re-enables CCM_C.
|
||||
scripts/config.py -f "$CRYPTO_CONFIG_H" unset PSA_WANT_ALG_CCM_STAR_NO_TAG
|
||||
|
||||
# Build
|
||||
# -----
|
||||
|
||||
|
@ -3694,7 +3750,7 @@ component_test_psa_crypto_config_accel_cipher_aead () {
|
|||
msg "build: full config with accelerated cipher and AEAD"
|
||||
|
||||
loc_accel_list="ALG_ECB_NO_PADDING ALG_CBC_NO_PADDING ALG_CBC_PKCS7 ALG_CTR ALG_CFB \
|
||||
ALG_OFB ALG_XTS ALG_STREAM_CIPHER \
|
||||
ALG_OFB ALG_XTS ALG_STREAM_CIPHER ALG_CCM_STAR_NO_TAG \
|
||||
ALG_GCM ALG_CCM ALG_CHACHA20_POLY1305 ALG_CMAC \
|
||||
KEY_TYPE_DES KEY_TYPE_AES KEY_TYPE_ARIA KEY_TYPE_CHACHA20 KEY_TYPE_CAMELLIA"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue