Mbed TLS v3.6.2
Loading...
Searching...
No Matches
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 */