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