• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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