1 /** 2 * \file check_crypto_config.h 3 * 4 * \brief Consistency checks for PSA configuration options 5 */ 6 /* 7 * Copyright The Mbed TLS Contributors 8 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later 9 */ 10 11 /* 12 * It is recommended to include this file from your crypto_config.h 13 * in order to catch dependency issues early. 14 */ 15 16 #ifndef MBEDTLS_CHECK_CRYPTO_CONFIG_H 17 #define MBEDTLS_CHECK_CRYPTO_CONFIG_H 18 19 #if defined(PSA_WANT_ALG_CCM) && \ 20 !(defined(PSA_WANT_KEY_TYPE_AES) || \ 21 defined(PSA_WANT_KEY_TYPE_CAMELLIA)) 22 #error "PSA_WANT_ALG_CCM defined, but not all prerequisites" 23 #endif 24 25 #if defined(PSA_WANT_ALG_CMAC) && \ 26 !(defined(PSA_WANT_KEY_TYPE_AES) || \ 27 defined(PSA_WANT_KEY_TYPE_CAMELLIA) || \ 28 defined(PSA_WANT_KEY_TYPE_DES)) 29 #error "PSA_WANT_ALG_CMAC defined, but not all prerequisites" 30 #endif 31 32 #if defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) && \ 33 !(defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR) || \ 34 defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)) 35 #error "PSA_WANT_ALG_DETERMINISTIC_ECDSA defined, but not all prerequisites" 36 #endif 37 38 #if defined(PSA_WANT_ALG_ECDSA) && \ 39 !(defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR) || \ 40 defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)) 41 #error "PSA_WANT_ALG_ECDSA defined, but not all prerequisites" 42 #endif 43 44 #if defined(PSA_WANT_ALG_GCM) && \ 45 !(defined(PSA_WANT_KEY_TYPE_AES) || \ 46 defined(PSA_WANT_KEY_TYPE_CAMELLIA)) 47 #error "PSA_WANT_ALG_GCM defined, but not all prerequisites" 48 #endif 49 50 #if defined(PSA_WANT_ALG_RSA_PKCS1V15_CRYPT) && \ 51 !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR) || \ 52 defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY)) 53 #error "PSA_WANT_ALG_RSA_PKCS1V15_CRYPT defined, but not all prerequisites" 54 #endif 55 56 #if defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN) && \ 57 !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR) || \ 58 defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY)) 59 #error "PSA_WANT_ALG_RSA_PKCS1V15_SIGN defined, but not all prerequisites" 60 #endif 61 62 #if defined(PSA_WANT_ALG_RSA_OAEP) && \ 63 !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR) || \ 64 defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY)) 65 #error "PSA_WANT_ALG_RSA_OAEP defined, but not all prerequisites" 66 #endif 67 68 #if defined(PSA_WANT_ALG_RSA_PSS) && \ 69 !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR) || \ 70 defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY)) 71 #error "PSA_WANT_ALG_RSA_PSS defined, but not all prerequisites" 72 #endif 73 74 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR) && \ 75 !defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY) 76 #error "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR defined, but not all prerequisites" 77 #endif 78 79 #endif /* MBEDTLS_CHECK_CRYPTO_CONFIG_H */ 80