Path: blob/master/thirdparty/mbedtls/library/check_crypto_config.h
9898 views
/**1* \file check_crypto_config.h2*3* \brief Consistency checks for PSA configuration options4*/5/*6* Copyright The Mbed TLS Contributors7* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later8*/910/*11* It is recommended to include this file from your crypto_config.h12* in order to catch dependency issues early.13*/1415#ifndef MBEDTLS_CHECK_CRYPTO_CONFIG_H16#define MBEDTLS_CHECK_CRYPTO_CONFIG_H1718#if defined(PSA_WANT_ALG_CCM) && \19!(defined(PSA_WANT_KEY_TYPE_AES) || \20defined(PSA_WANT_KEY_TYPE_CAMELLIA))21#error "PSA_WANT_ALG_CCM defined, but not all prerequisites"22#endif2324#if defined(PSA_WANT_ALG_CMAC) && \25!(defined(PSA_WANT_KEY_TYPE_AES) || \26defined(PSA_WANT_KEY_TYPE_CAMELLIA) || \27defined(PSA_WANT_KEY_TYPE_DES))28#error "PSA_WANT_ALG_CMAC defined, but not all prerequisites"29#endif3031#if defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) && \32!(defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC) || \33defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY))34#error "PSA_WANT_ALG_DETERMINISTIC_ECDSA defined, but not all prerequisites"35#endif3637#if defined(PSA_WANT_ALG_ECDSA) && \38!(defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC) || \39defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY))40#error "PSA_WANT_ALG_ECDSA defined, but not all prerequisites"41#endif4243#if defined(PSA_WANT_ALG_GCM) && \44!(defined(PSA_WANT_KEY_TYPE_AES) || \45defined(PSA_WANT_KEY_TYPE_CAMELLIA))46#error "PSA_WANT_ALG_GCM defined, but not all prerequisites"47#endif4849#if defined(PSA_WANT_ALG_RSA_PKCS1V15_CRYPT) && \50!(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \51defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))52#error "PSA_WANT_ALG_RSA_PKCS1V15_CRYPT defined, but not all prerequisites"53#endif5455#if defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN) && \56!(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \57defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))58#error "PSA_WANT_ALG_RSA_PKCS1V15_SIGN defined, but not all prerequisites"59#endif6061#if defined(PSA_WANT_ALG_RSA_OAEP) && \62!(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \63defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))64#error "PSA_WANT_ALG_RSA_OAEP defined, but not all prerequisites"65#endif6667#if defined(PSA_WANT_ALG_RSA_PSS) && \68!(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \69defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))70#error "PSA_WANT_ALG_RSA_PSS defined, but not all prerequisites"71#endif7273#if (defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC) || \74defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT) || \75defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT) || \76defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE) || \77defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE)) && \78!defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)79#error "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_xxx defined, but not all prerequisites"80#endif8182#if (defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \83defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT) || \84defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT) || \85defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE)) && \86!defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY)87#error "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_xxx defined, but not all prerequisites"88#endif8990#if (defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC) || \91defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT) || \92defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT) || \93defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_GENERATE)) && \94!defined(PSA_WANT_KEY_TYPE_DH_PUBLIC_KEY)95#error "PSA_WANT_KEY_TYPE_DH_KEY_PAIR_xxx defined, but not all prerequisites"96#endif9798#if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR)99#if defined(MBEDTLS_DEPRECATED_REMOVED)100#error "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR is deprecated and will be removed in a \101future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_xxx \102symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"103#elif defined(MBEDTLS_DEPRECATED_WARNING)104#warning "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR is deprecated and will be removed in a \105future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_xxx \106symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"107#endif /* MBEDTLS_DEPRECATED_WARNING */108#endif /* PSA_WANT_KEY_TYPE_ECC_KEY_PAIR */109110#if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR)111#if defined(MBEDTLS_DEPRECATED_REMOVED)112#error "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR is deprecated and will be removed in a \113future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_xxx \114symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"115#elif defined(MBEDTLS_DEPRECATED_WARNING)116#warning "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR is deprecated and will be removed in a \117future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_xxx \118symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"119#endif /* MBEDTLS_DEPRECATED_WARNING */120#endif /* PSA_WANT_KEY_TYPE_RSA_KEY_PAIR */121122#if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE)123#error "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE defined, but feature is not supported"124#endif125126#if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_DERIVE)127#error "PSA_WANT_KEY_TYPE_DH_KEY_PAIR_DERIVE defined, but feature is not supported"128#endif129130#if defined(MBEDTLS_SSL_PROTO_TLS1_2) && defined(MBEDTLS_USE_PSA_CRYPTO) && \131!(defined(PSA_WANT_ALG_SHA_1) || defined(PSA_WANT_ALG_SHA_256) || defined(PSA_WANT_ALG_SHA_512))132#error "MBEDTLS_SSL_PROTO_TLS1_2 defined, but not all prerequisites"133#endif134135#if defined(PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS) && \136!defined(PSA_WANT_ALG_SHA_256)137#error "PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS defined, but not all prerequisites"138#endif139140#endif /* MBEDTLS_CHECK_CRYPTO_CONFIG_H */141142143