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