From 610e6e2aeabb94c09eb1357d0c3a7f5a7d765d1e Mon Sep 17 00:00:00 2001 From: Gabor Mezei Date: Sat, 3 Aug 2024 14:33:21 +0200 Subject: [PATCH] Add PSA macro dependencies Signed-off-by: Gabor Mezei --- tests/scripts/depends.py | 118 +++++++++++++++++++++++++++++++-------- 1 file changed, 94 insertions(+), 24 deletions(-) diff --git a/tests/scripts/depends.py b/tests/scripts/depends.py index 587dc2c8ff..b0ea5c251a 100755 --- a/tests/scripts/depends.py +++ b/tests/scripts/depends.py @@ -192,17 +192,55 @@ and subsequent commands are tests that cannot run if the build failed).''' # If the configuration option A requires B, make sure that # B in REVERSE_DEPENDENCIES[A]. -# All the information here should be contained in check_config.h. This -# file includes a copy because it changes rarely and it would be a pain +# All the information here should be contained in check_config.h or check_crypto_config.h. +# This file includes a copy because it changes rarely and it would be a pain # to extract automatically. REVERSE_DEPENDENCIES = { 'MBEDTLS_AES_C': ['MBEDTLS_CTR_DRBG_C', - 'MBEDTLS_NIST_KW_C'], - 'MBEDTLS_CHACHA20_C': ['MBEDTLS_CHACHAPOLY_C'], + 'MBEDTLS_NIST_KW_C', + 'PSA_WANT_KEY_TYPE_AES', + 'PSA_WANT_ALG_PBKDF2_AES_CMAC_PRF_128'], + 'MBEDTLS_ARIA_C': ['PSA_WANT_KEY_TYPE_ARIA'], + 'MBEDTLS_CAMELLIA_C': ['PSA_WANT_KEY_TYPE_CAMELLIA'], + 'MBEDTLS_CCM_C': ['PSA_WANT_ALG_CCM', + 'PSA_WANT_ALG_CCM_STAR_NO_TAG'], + 'MBEDTLS_CHACHA20_C': ['MBEDTLS_CHACHAPOLY_C', + 'PSA_WANT_KEY_TYPE_CHACHA20', + 'PSA_WANT_ALG_CHACHA20_POLY1305'], + 'MBEDTLS_CMAC_C': ['PSA_WANT_ALG_CMAC', + 'PSA_WANT_ALG_PBKDF2_AES_CMAC_PRF_128'], + 'MBEDTLS_DES_C': ['PSA_WANT_KEY_TYPE_DES'], + 'MBEDTLS_GCM_C': ['PSA_WANT_ALG_GCM'], + + 'MBEDTLS_CIPHER_MODE_CBC': ['PSA_WANT_ALG_CBC_PKCS7', + 'PSA_WANT_ALG_CBC_NO_PADDING'], + 'MBEDTLS_CIPHER_MODE_CFB': ['PSA_WANT_ALG_CFB'], + 'MBEDTLS_CIPHER_MODE_CTR': ['PSA_WANT_ALG_CTR'], + 'MBEDTLS_CIPHER_MODE_OFB': ['PSA_WANT_ALG_OFB'], + + 'MBEDTLS_CIPHER_PADDING_PKCS7': ['PSA_WANT_ALG_CBC_PKCS7'], + + 'MBEDTLS_ECP_DP_BP256R1_ENABLED': ['PSA_WANT_ECC_BRAINPOOL_P_R1_256'], + 'MBEDTLS_ECP_DP_BP384R1_ENABLED': ['PSA_WANT_ECC_BRAINPOOL_P_R1_384'], + 'MBEDTLS_ECP_DP_BP512R1_ENABLED': ['PSA_WANT_ECC_BRAINPOOL_P_R1_512'], + 'MBEDTLS_ECP_DP_CURVE25519_ENABLED': ['PSA_WANT_ECC_MONTGOMERY_255'], + 'MBEDTLS_ECP_DP_CURVE448_ENABLED': ['PSA_WANT_ECC_MONTGOMERY_448'], + 'MBEDTLS_ECP_DP_SECP192R1_ENABLED': ['PSA_WANT_ECC_SECP_R1_192'], + 'MBEDTLS_ECP_DP_SECP224R1_ENABLED': ['PSA_WANT_ECC_SECP_R1_224'], + 'MBEDTLS_ECP_DP_SECP256R1_ENABLED': ['MBEDTLS_ECJPAKE_C', + 'PSA_WANT_ECC_SECP_R1_256'], + 'MBEDTLS_ECP_DP_SECP384R1_ENABLED': ['PSA_WANT_ECC_SECP_R1_384'], + 'MBEDTLS_ECP_DP_SECP512R1_ENABLED': ['PSA_WANT_ECC_SECP_R1_512'], + 'MBEDTLS_ECP_DP_SECP521R1_ENABLED': ['PSA_WANT_ECC_SECP_R1_521'], + 'MBEDTLS_ECP_DP_SECP192K1_ENABLED': ['PSA_WANT_ECC_SECP_K1_192'], + 'MBEDTLS_ECP_DP_SECP256K1_ENABLED': ['PSA_WANT_ECC_SECP_K1_256'], + 'MBEDTLS_ECDSA_C': ['MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED', - 'MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED'], + 'MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED', + 'PSA_WANT_ALG_ECDSA', + 'PSA_WANT_ALG_DETERMINISTIC_ECDSA'], 'MBEDTLS_ECP_C': ['MBEDTLS_ECDSA_C', - 'MBEDTLS_ECDH_C', + 'MBEDTLS_ECDH_C', 'PSA_WANT_ALG_ECDH', 'MBEDTLS_ECJPAKE_C', 'MBEDTLS_ECP_RESTARTABLE', 'MBEDTLS_PK_PARSE_EC_EXTENDED', @@ -210,30 +248,58 @@ REVERSE_DEPENDENCIES = { 'MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED', 'MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED', 'MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED', - 'MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED', 'MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_EPHEMERAL_ENABLED', - 'MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED'], - 'MBEDTLS_ECP_DP_SECP256R1_ENABLED': ['MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED'], - 'MBEDTLS_PKCS1_V21': ['MBEDTLS_X509_RSASSA_PSS_SUPPORT'], + 'MBEDTLS_SSL_TLS1_3_KEY_EXCHANGE_MODE_PSK_EPHEMERAL_ENABLED', + 'PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY', + 'PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC', + 'PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT', + 'PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT', + 'PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE', + 'PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE'], + 'MBEDTLS_ECJPAKE_C': ['MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED', + 'PSA_WANT_ALG_JPAKE'], + 'MBEDTLS_PKCS1_V21': ['MBEDTLS_X509_RSASSA_PSS_SUPPORT', + 'PSA_WANT_ALG_RSA_OAEP', + 'PSA_WANT_ALG_RSA_PSS'], 'MBEDTLS_PKCS1_V15': ['MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED', 'MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED', 'MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED', - 'MBEDTLS_KEY_EXCHANGE_RSA_ENABLED'], + 'MBEDTLS_KEY_EXCHANGE_RSA_ENABLED', + 'PSA_WANT_ALG_RSA_PKCS1V15_CRYPT', + 'PSA_WANT_ALG_RSA_PKCS1V15_SIGN'], 'MBEDTLS_RSA_C': ['MBEDTLS_PKCS1_V15', 'MBEDTLS_PKCS1_V21', - 'MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED'], + 'MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED', + 'PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY', + 'PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC', + 'PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT', + 'PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT', + 'PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE'], + + 'MBEDTLS_MD5_C' : ['PSA_WANT_ALG_MD5'], + 'MBEDTLS_RIPEMD160_C' : ['PSA_WANT_ALG_RIPEMD160'], + 'MBEDTLS_SHA1_C' : ['PSA_WANT_ALG_SHA_1'], + 'MBEDTLS_SHA224_C': ['MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED', + 'MBEDTLS_ENTROPY_FORCE_SHA256', + 'MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT', + 'MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY', + 'PSA_WANT_ALG_SHA_224'], 'MBEDTLS_SHA256_C': ['MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED', 'MBEDTLS_ENTROPY_FORCE_SHA256', 'MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT', 'MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY', 'MBEDTLS_LMS_C', - 'MBEDTLS_LMS_PRIVATE'], + 'MBEDTLS_LMS_PRIVATE', + 'PSA_WANT_ALG_SHA_256', + 'PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS'], + 'MBEDTLS_SHA384_C' : ['PSA_WANT_ALG_SHA_384'], 'MBEDTLS_SHA512_C': ['MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT', - 'MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY'], - 'MBEDTLS_SHA224_C': ['MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED', - 'MBEDTLS_ENTROPY_FORCE_SHA256', - 'MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT', - 'MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY'], + 'MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY', + 'PSA_WANT_ALG_SHA_512'], + 'MBEDTLS_SHA3_C' : ['PSA_WANT_ALG_SHA3_224', + 'PSA_WANT_ALG_SHA3_256', + 'PSA_WANT_ALG_SHA3_384', + 'PSA_WANT_ALG_SHA3_512'], } # If an option is tested in an exclusive test, alter the following defines. @@ -244,15 +310,19 @@ EXCLUSIVE_GROUPS = { '-MBEDTLS_SSL_TLS_C'], 'MBEDTLS_ECP_DP_CURVE448_ENABLED': ['-MBEDTLS_ECDSA_C', '-MBEDTLS_ECDSA_DETERMINISTIC', - '-MBEDTLS_ECJPAKE_C', - '-MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED'], + '-MBEDTLS_ECJPAKE_C',], 'MBEDTLS_ECP_DP_CURVE25519_ENABLED': ['-MBEDTLS_ECDSA_C', '-MBEDTLS_ECDSA_DETERMINISTIC', - '-MBEDTLS_ECJPAKE_C', - '-MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED'], - 'MBEDTLS_ARIA_C': ['-MBEDTLS_CMAC_C'], + '-MBEDTLS_ECJPAKE_C'], + 'MBEDTLS_ARIA_C': ['-MBEDTLS_CMAC_C', + '-MBEDTLS_CCM_C', + '-MBEDTLS_GCM_C', + '-MBEDTLS_SSL_TICKET_C', + '-MBEDTLS_SSL_CONTEXT_SERIALIZATION'], 'MBEDTLS_CAMELLIA_C': ['-MBEDTLS_CMAC_C'], - 'MBEDTLS_CHACHA20_C': ['-MBEDTLS_CMAC_C', '-MBEDTLS_CCM_C', '-MBEDTLS_GCM_C'], + 'MBEDTLS_CHACHA20_C': ['-MBEDTLS_CMAC_C', + '-MBEDTLS_CCM_C', + '-MBEDTLS_GCM_C'], 'MBEDTLS_DES_C': ['-MBEDTLS_CCM_C', '-MBEDTLS_GCM_C', '-MBEDTLS_SSL_TICKET_C',