mirror of
https://github.com/ARMmbed/mbedtls.git
synced 2025-06-24 14:20:59 +08:00
Use PSA macros for the hashes
domain
Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
This commit is contained in:
parent
cdd91da1af
commit
ef013a6970
@ -328,26 +328,26 @@ REVERSE_DEPENDENCIES = {
|
|||||||
'MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED',
|
'MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED',
|
||||||
'MBEDTLS_RSA_C'],
|
'MBEDTLS_RSA_C'],
|
||||||
|
|
||||||
'MBEDTLS_MD5_C' : ['PSA_WANT_ALG_MD5'],
|
'PSA_WANT_ALG_MD5': ['MBEDTLS_MD5_C'],
|
||||||
'MBEDTLS_RIPEMD160_C' : ['PSA_WANT_ALG_RIPEMD160'],
|
'PSA_WANT_ALG_RIPEMD160': ['MBEDTLS_RIPEMD160_C'],
|
||||||
'MBEDTLS_SHA1_C' : ['PSA_WANT_ALG_SHA_1'],
|
'PSA_WANT_ALG_SHA_1': ['MBEDTLS_SHA1_C'],
|
||||||
'MBEDTLS_SHA224_C': ['MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED',
|
'PSA_WANT_ALG_SHA_224': ['MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED',
|
||||||
'MBEDTLS_ENTROPY_FORCE_SHA256',
|
'MBEDTLS_ENTROPY_FORCE_SHA256',
|
||||||
'MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT',
|
'MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT',
|
||||||
'MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY',
|
'MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY',
|
||||||
'PSA_WANT_ALG_SHA_224'],
|
'MBEDTLS_SHA224_C'],
|
||||||
'MBEDTLS_SHA256_C': ['MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED',
|
'PSA_WANT_ALG_SHA_256': ['MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED',
|
||||||
'MBEDTLS_ENTROPY_FORCE_SHA256',
|
'MBEDTLS_ENTROPY_FORCE_SHA256',
|
||||||
'MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT',
|
'MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_IF_PRESENT',
|
||||||
'MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY',
|
'MBEDTLS_SHA256_USE_ARMV8_A_CRYPTO_ONLY',
|
||||||
'MBEDTLS_LMS_C',
|
'MBEDTLS_LMS_C',
|
||||||
'MBEDTLS_LMS_PRIVATE',
|
'MBEDTLS_LMS_PRIVATE',
|
||||||
'PSA_WANT_ALG_SHA_256',
|
'MBEDTLS_SHA256_C',
|
||||||
'PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS'],
|
'PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS'],
|
||||||
'MBEDTLS_SHA384_C' : ['PSA_WANT_ALG_SHA_384'],
|
'PSA_WANT_ALG_SHA_384': ['MBEDTLS_SHA384_C'],
|
||||||
'MBEDTLS_SHA512_C': ['MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT',
|
'PSA_WANT_ALG_SHA_512': ['MBEDTLS_SHA512_USE_A64_CRYPTO_IF_PRESENT',
|
||||||
'MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY',
|
'MBEDTLS_SHA512_USE_A64_CRYPTO_ONLY',
|
||||||
'PSA_WANT_ALG_SHA_512'],
|
'MBEDTLS_SHA512_C'],
|
||||||
'PSA_WANT_ALG_ECB_NO_PADDING' : ['MBEDTLS_NIST_KW_C'],
|
'PSA_WANT_ALG_ECB_NO_PADDING' : ['MBEDTLS_NIST_KW_C'],
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -355,8 +355,8 @@ REVERSE_DEPENDENCIES = {
|
|||||||
# These are not necessarily dependencies, but just minimal required changes
|
# These are not necessarily dependencies, but just minimal required changes
|
||||||
# if a given define is the only one enabled from an exclusive group.
|
# if a given define is the only one enabled from an exclusive group.
|
||||||
EXCLUSIVE_GROUPS = {
|
EXCLUSIVE_GROUPS = {
|
||||||
'MBEDTLS_SHA512_C': ['-MBEDTLS_SSL_COOKIE_C',
|
'PSA_WANT_ALG_SHA_512': ['-MBEDTLS_SSL_COOKIE_C',
|
||||||
'-MBEDTLS_SSL_TLS_C'],
|
'-MBEDTLS_SSL_TLS_C'],
|
||||||
'PSA_WANT_ECC_MONTGOMERY_448': ['-PSA_WANT_ALG_ECDSA',
|
'PSA_WANT_ECC_MONTGOMERY_448': ['-PSA_WANT_ALG_ECDSA',
|
||||||
'-PSA_WANT_ALG_JPAKE',],
|
'-PSA_WANT_ALG_JPAKE',],
|
||||||
'PSA_WANT_ECC_MONTGOMERY_255': ['-PSA_WANT_ALG_ECDSA',
|
'PSA_WANT_ECC_MONTGOMERY_255': ['-PSA_WANT_ALG_ECDSA',
|
||||||
@ -503,10 +503,12 @@ class DomainData:
|
|||||||
for expr in psa_info.generate_expressions([key_type]))
|
for expr in psa_info.generate_expressions([key_type]))
|
||||||
if symbol in self.all_config_symbols}
|
if symbol in self.all_config_symbols}
|
||||||
|
|
||||||
# Find hash modules by name.
|
# Find hash modules by category.
|
||||||
hash_symbols = self.config_symbols_matching(r'MBEDTLS_(MD|RIPEMD|SHA)[0-9]+_C\Z')
|
hash_symbols = {symbol
|
||||||
|
for alg, symbol in algs.items()
|
||||||
|
if alg.can_do(crypto_knowledge.AlgorithmCategory.HASH)}
|
||||||
|
|
||||||
# Find elliptic curve enabling macros
|
# Find elliptic curve enabling macros by name.
|
||||||
# MBEDTLS_ECP_DP_SECP224K1_ENABLED added to disable it for all curves
|
# MBEDTLS_ECP_DP_SECP224K1_ENABLED added to disable it for all curves
|
||||||
curve_symbols = self.config_symbols_matching(r'PSA_WANT_ECC_\w+\Z|'
|
curve_symbols = self.config_symbols_matching(r'PSA_WANT_ECC_\w+\Z|'
|
||||||
r'MBEDTLS_ECP_DP_SECP224K1_ENABLED')
|
r'MBEDTLS_ECP_DP_SECP224K1_ENABLED')
|
||||||
@ -540,19 +542,16 @@ class DomainData:
|
|||||||
build_and_test),
|
build_and_test),
|
||||||
|
|
||||||
# Elliptic curves. Run the test suites.
|
# Elliptic curves. Run the test suites.
|
||||||
'curves': ExclusiveDomain(curve_symbols, build_and_test,
|
'curves': ExclusiveDomain(curve_symbols, build_and_test),
|
||||||
exclude=r'MBEDTLS_ECP_DP_SECP224K1_ENABLED'),
|
|
||||||
|
|
||||||
# Hash algorithms. Excluding exclusive domains of MD, RIPEMD, SHA1,
|
# Hash algorithms. Excluding exclusive domains of MD, RIPEMD, SHA1, SHA3*,
|
||||||
# SHA224 and SHA384 because MBEDTLS_ENTROPY_C is extensively used
|
# SHA224 and SHA384 because MBEDTLS_ENTROPY_C is extensively used
|
||||||
# across various modules, but it depends on either SHA256 or SHA512.
|
# across various modules, but it depends on either SHA256 or SHA512.
|
||||||
# As a consequence an "exclusive" test of anything other than SHA256
|
# As a consequence an "exclusive" test of anything other than SHA256
|
||||||
# or SHA512 with MBEDTLS_ENTROPY_C enabled is not possible.
|
# or SHA512 with MBEDTLS_ENTROPY_C enabled is not possible.
|
||||||
'hashes': DualDomain(hash_symbols, build_and_test,
|
'hashes': DualDomain(hash_symbols, build_and_test,
|
||||||
exclude=r'MBEDTLS_(MD|RIPEMD|SHA1_)' \
|
exclude=r'PSA_WANT_ALG_(?!SHA_(256|512))'),
|
||||||
'|MBEDTLS_SHA224_' \
|
|
||||||
'|MBEDTLS_SHA384_' \
|
|
||||||
'|MBEDTLS_SHA3_'),
|
|
||||||
# Key exchange types.
|
# Key exchange types.
|
||||||
'kex': ExclusiveDomain(key_exchange_symbols, build_and_test),
|
'kex': ExclusiveDomain(key_exchange_symbols, build_and_test),
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user