Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/mbedtls/library/check_crypto_config.h
9898 views
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_BASIC) || \
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_BASIC) || \
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_BASIC) || \
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_BASIC) || \
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_BASIC) || \
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_BASIC) || \
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_BASIC) || \
75
defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_IMPORT) || \
76
defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_EXPORT) || \
77
defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_GENERATE) || \
78
defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_DERIVE)) && \
79
!defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)
80
#error "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_xxx defined, but not all prerequisites"
81
#endif
82
83
#if (defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC) || \
84
defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT) || \
85
defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT) || \
86
defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE)) && \
87
!defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY)
88
#error "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_xxx defined, but not all prerequisites"
89
#endif
90
91
#if (defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_BASIC) || \
92
defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_IMPORT) || \
93
defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_EXPORT) || \
94
defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_GENERATE)) && \
95
!defined(PSA_WANT_KEY_TYPE_DH_PUBLIC_KEY)
96
#error "PSA_WANT_KEY_TYPE_DH_KEY_PAIR_xxx defined, but not all prerequisites"
97
#endif
98
99
#if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR)
100
#if defined(MBEDTLS_DEPRECATED_REMOVED)
101
#error "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR is deprecated and will be removed in a \
102
future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_xxx \
103
symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"
104
#elif defined(MBEDTLS_DEPRECATED_WARNING)
105
#warning "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR is deprecated and will be removed in a \
106
future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_xxx \
107
symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"
108
#endif /* MBEDTLS_DEPRECATED_WARNING */
109
#endif /* PSA_WANT_KEY_TYPE_ECC_KEY_PAIR */
110
111
#if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR)
112
#if defined(MBEDTLS_DEPRECATED_REMOVED)
113
#error "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR is deprecated and will be removed in a \
114
future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_xxx \
115
symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"
116
#elif defined(MBEDTLS_DEPRECATED_WARNING)
117
#warning "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR is deprecated and will be removed in a \
118
future version of Mbed TLS. Please switch to new PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_xxx \
119
symbols, where xxx can be: USE, IMPORT, EXPORT, GENERATE, DERIVE"
120
#endif /* MBEDTLS_DEPRECATED_WARNING */
121
#endif /* PSA_WANT_KEY_TYPE_RSA_KEY_PAIR */
122
123
#if defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE)
124
#error "PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_DERIVE defined, but feature is not supported"
125
#endif
126
127
#if defined(PSA_WANT_KEY_TYPE_DH_KEY_PAIR_DERIVE)
128
#error "PSA_WANT_KEY_TYPE_DH_KEY_PAIR_DERIVE defined, but feature is not supported"
129
#endif
130
131
#if defined(MBEDTLS_SSL_PROTO_TLS1_2) && defined(MBEDTLS_USE_PSA_CRYPTO) && \
132
!(defined(PSA_WANT_ALG_SHA_1) || defined(PSA_WANT_ALG_SHA_256) || defined(PSA_WANT_ALG_SHA_512))
133
#error "MBEDTLS_SSL_PROTO_TLS1_2 defined, but not all prerequisites"
134
#endif
135
136
#if defined(PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS) && \
137
!defined(PSA_WANT_ALG_SHA_256)
138
#error "PSA_WANT_ALG_TLS12_ECJPAKE_TO_PMS defined, but not all prerequisites"
139
#endif
140
141
#endif /* MBEDTLS_CHECK_CRYPTO_CONFIG_H */
142
143