Mbed TLS v3.6.3
crypto_adjust_config_key_pair_types.h
Go to the documentation of this file.
1 
16 /*
17  * Copyright The Mbed TLS Contributors
18  * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
19  */
20 
21 #ifndef PSA_CRYPTO_ADJUST_KEYPAIR_TYPES_H
22 #define PSA_CRYPTO_ADJUST_KEYPAIR_TYPES_H
23 
24 #if !defined(MBEDTLS_CONFIG_FILES_READ)
25 #error "Do not include psa/crypto_adjust_*.h manually! This can lead to problems, " \
26  "up to and including runtime errors such as buffer overflows. " \
27  "If you're trying to fix a complaint from check_config.h, just remove " \
28  "it from your configuration file: since Mbed TLS 3.0, it is included " \
29  "automatically at the right point."
30 #endif /* */
31 
32 /*****************************************************************
33  * ANYTHING -> BASIC
34  ****************************************************************/
35 
36 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT) || \
37  defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT) || \
38  defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE) || \
39  defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE)
40 #define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC 1
41 #endif
42 
43 #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT) || \
44  defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT) || \
45  defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE) || \
46  defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE)
47 #define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC 1
48 #endif
49 
50 #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT) || \
51  defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT) || \
52  defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_GENERATE) || \
53  defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_DERIVE)
54 #define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC 1
55 #endif
56 
57 /*****************************************************************
58  * BASIC -> corresponding PUBLIC
59  ****************************************************************/
60 
61 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC)
62 #define PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY 1
63 #endif
64 
65 #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC)
66 #define PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY 1
67 #endif
68 
69 #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC)
70 #define PSA_WANT_KEY_TYPE_DH_PUBLIC_KEY 1
71 #endif
72 
73 /*****************************************************************
74  * BASIC -> IMPORT+EXPORT
75  *
76  * (Implementation-specific, may change in the future.)
77  ****************************************************************/
78 
79 /* Even though KEY_PAIR symbols' feature several level of support (BASIC, IMPORT,
80  * EXPORT, GENERATE, DERIVE) we're not planning to have support only for BASIC
81  * without IMPORT/EXPORT since these last 2 features are strongly used in tests.
82  * In general it is allowed to include more feature than what is strictly
83  * requested.
84  * As a consequence IMPORT and EXPORT features will be automatically enabled
85  * as soon as the BASIC one is. */
86 #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_BASIC)
87 #define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT 1
88 #define PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT 1
89 #endif
90 
91 #if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC)
92 #define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT 1
93 #define PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT 1
94 #endif
95 
96 #if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC)
97 #define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT 1
98 #define PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT 1
99 #endif
100 
101 #endif /* PSA_CRYPTO_ADJUST_KEYPAIR_TYPES_H */