Ronald Cron | a6ff719 | 2024-05-15 09:27:27 +0200 | [diff] [blame] | 1 | /** |
| 2 | * \file psa/crypto_adjust_config_dependencies.h |
| 3 | * \brief Adjust PSA configuration by resolving some dependencies. |
| 4 | * |
Ronald Cron | 8b1c5eb | 2024-05-17 13:18:52 +0200 | [diff] [blame] | 5 | * This is an internal header. Do not include it directly. |
| 6 | * |
Ronald Cron | a6ff719 | 2024-05-15 09:27:27 +0200 | [diff] [blame] | 7 | * See docs/proposed/psa-conditional-inclusion-c.md. |
Ronald Cron | 8b1c5eb | 2024-05-17 13:18:52 +0200 | [diff] [blame] | 8 | * If the Mbed TLS implementation of a cryptographic mechanism A depends on a |
| 9 | * cryptographic mechanism B then if the cryptographic mechanism A is enabled |
| 10 | * and not accelerated enable B. Note that if A is enabled and accelerated, it |
| 11 | * is not necessary to enable B for A support. |
Ronald Cron | a6ff719 | 2024-05-15 09:27:27 +0200 | [diff] [blame] | 12 | */ |
| 13 | /* |
| 14 | * Copyright The Mbed TLS Contributors |
| 15 | * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later |
| 16 | */ |
| 17 | |
| 18 | #ifndef PSA_CRYPTO_ADJUST_CONFIG_DEPENDENCIES_H |
| 19 | #define PSA_CRYPTO_ADJUST_CONFIG_DEPENDENCIES_H |
| 20 | |
Gilles Peskine | 66b2742 | 2024-05-16 14:46:09 +0200 | [diff] [blame] | 21 | #if !defined(MBEDTLS_CONFIG_FILES_READ) |
| 22 | #error "Do not include psa/crypto_adjust_*.h manually! This can lead to problems, " \ |
| 23 | "up to and including runtime errors such as buffer overflows. " \ |
| 24 | "If you're trying to fix a complaint from check_config.h, just remove " \ |
| 25 | "it from your configuration file: since Mbed TLS 3.0, it is included " \ |
Gilles Peskine | d537799 | 2024-05-29 09:33:04 +0200 | [diff] [blame^] | 26 | "automatically at the right point." |
Gilles Peskine | 66b2742 | 2024-05-16 14:46:09 +0200 | [diff] [blame] | 27 | #endif /* */ |
| 28 | |
Ronald Cron | c8953c9 | 2024-05-17 11:19:57 +0200 | [diff] [blame] | 29 | #if (defined(PSA_WANT_ALG_TLS12_PRF) && \ |
| 30 | !defined(MBEDTLS_PSA_ACCEL_ALG_TLS12_PRF)) || \ |
| 31 | (defined(PSA_WANT_ALG_TLS12_PSK_TO_MS) && \ |
| 32 | !defined(MBEDTLS_PSA_ACCEL_ALG_TLS12_PSK_TO_MS)) || \ |
| 33 | (defined(PSA_WANT_ALG_HKDF) && \ |
| 34 | !defined(MBEDTLS_PSA_ACCEL_ALG_HKDF)) || \ |
| 35 | (defined(PSA_WANT_ALG_HKDF_EXTRACT) && \ |
| 36 | !defined(MBEDTLS_PSA_ACCEL_ALG_HKDF_EXTRACT)) || \ |
| 37 | (defined(PSA_WANT_ALG_HKDF_EXPAND) && \ |
| 38 | !defined(MBEDTLS_PSA_ACCEL_ALG_HKDF_EXPAND)) || \ |
| 39 | (defined(PSA_WANT_ALG_PBKDF2_HMAC) && \ |
| 40 | !defined(MBEDTLS_PSA_ACCEL_ALG_PBKDF2_HMAC)) |
Ronald Cron | a6ff719 | 2024-05-15 09:27:27 +0200 | [diff] [blame] | 41 | #define PSA_WANT_ALG_HMAC 1 |
| 42 | #define PSA_WANT_KEY_TYPE_HMAC 1 |
| 43 | #endif |
| 44 | |
Ronald Cron | 0fd2d04 | 2024-05-17 13:11:24 +0200 | [diff] [blame] | 45 | #if (defined(PSA_WANT_ALG_PBKDF2_AES_CMAC_PRF_128) && \ |
| 46 | !defined(MBEDTLS_PSA_ACCEL_ALG_PBKDF2_AES_CMAC_PRF_128)) |
Ronald Cron | 7d949ae | 2024-05-15 18:31:17 +0200 | [diff] [blame] | 47 | #define PSA_WANT_KEY_TYPE_AES 1 |
| 48 | #define PSA_WANT_ALG_CMAC 1 |
| 49 | #endif |
| 50 | |
Ronald Cron | a6ff719 | 2024-05-15 09:27:27 +0200 | [diff] [blame] | 51 | #endif /* PSA_CRYPTO_ADJUST_CONFIG_DEPENDENCIES_H */ |