2 * \file ssl_ciphersuites.c
\r
4 * \brief SSL ciphersuites for mbed TLS
\r
6 * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
\r
7 * SPDX-License-Identifier: Apache-2.0
\r
9 * Licensed under the Apache License, Version 2.0 (the "License"); you may
\r
10 * not use this file except in compliance with the License.
\r
11 * You may obtain a copy of the License at
\r
13 * http://www.apache.org/licenses/LICENSE-2.0
\r
15 * Unless required by applicable law or agreed to in writing, software
\r
16 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
\r
17 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
18 * See the License for the specific language governing permissions and
\r
19 * limitations under the License.
\r
21 * This file is part of mbed TLS (https://tls.mbed.org)
\r
24 #if !defined(MBEDTLS_CONFIG_FILE)
\r
25 #include "mbedtls/config.h"
\r
27 #include MBEDTLS_CONFIG_FILE
\r
30 #if defined(MBEDTLS_SSL_TLS_C)
\r
32 #if defined(MBEDTLS_PLATFORM_C)
\r
33 #include "mbedtls/platform.h"
\r
38 #include "mbedtls/ssl_ciphersuites.h"
\r
39 #include "mbedtls/ssl.h"
\r
44 * Ordered from most preferred to least preferred in terms of security.
\r
46 * Current rule (except RC4 and 3DES, weak and null which come last):
\r
47 * 1. By key exchange:
\r
48 * Forward-secure non-PSK > forward-secure PSK > ECJPAKE > other non-PSK > other PSK
\r
49 * 2. By key length and cipher:
\r
50 * ChaCha > AES-256 > Camellia-256 > ARIA-256 > AES-128 > Camellia-128 > ARIA-128
\r
51 * 3. By cipher mode when relevant GCM > CCM > CBC > CCM_8
\r
52 * 4. By hash function used when relevant
\r
53 * 5. By key exchange/auth again: EC > non-EC
\r
55 static const int ciphersuite_preference[] =
\r
57 #if defined(MBEDTLS_SSL_CIPHERSUITES)
\r
58 MBEDTLS_SSL_CIPHERSUITES,
\r
60 /* Chacha-Poly ephemeral suites */
\r
61 MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
\r
62 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
\r
63 MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
\r
65 /* All AES-256 ephemeral suites */
\r
66 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
\r
67 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
\r
68 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
\r
69 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM,
\r
70 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM,
\r
71 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
\r
72 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
\r
73 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
\r
74 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
\r
75 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
\r
76 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
\r
77 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8,
\r
78 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8,
\r
80 /* All CAMELLIA-256 ephemeral suites */
\r
81 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
\r
82 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
\r
83 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
\r
84 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
\r
85 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
\r
86 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
\r
87 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
\r
89 /* All ARIA-256 ephemeral suites */
\r
90 MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
\r
91 MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
\r
92 MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
\r
93 MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,
\r
94 MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,
\r
95 MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,
\r
97 /* All AES-128 ephemeral suites */
\r
98 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
\r
99 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
\r
100 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
\r
101 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM,
\r
102 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM,
\r
103 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
\r
104 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
\r
105 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
\r
106 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
\r
107 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
\r
108 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
\r
109 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8,
\r
110 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8,
\r
112 /* All CAMELLIA-128 ephemeral suites */
\r
113 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
\r
114 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
\r
115 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
\r
116 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
\r
117 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
\r
118 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
\r
119 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
\r
121 /* All ARIA-128 ephemeral suites */
\r
122 MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
\r
123 MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
\r
124 MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
\r
125 MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,
\r
126 MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,
\r
127 MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,
\r
129 /* The PSK ephemeral suites */
\r
130 MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
\r
131 MBEDTLS_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
\r
132 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384,
\r
133 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM,
\r
134 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
\r
135 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384,
\r
136 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA,
\r
137 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA,
\r
138 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384,
\r
139 MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
\r
140 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
\r
141 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8,
\r
142 MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
\r
143 MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384,
\r
144 MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384,
\r
146 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256,
\r
147 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM,
\r
148 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
\r
149 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256,
\r
150 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA,
\r
151 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA,
\r
152 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256,
\r
153 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
\r
154 MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
\r
155 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8,
\r
156 MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
\r
157 MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256,
\r
158 MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256,
\r
160 /* The ECJPAKE suite */
\r
161 MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8,
\r
163 /* All AES-256 suites */
\r
164 MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384,
\r
165 MBEDTLS_TLS_RSA_WITH_AES_256_CCM,
\r
166 MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256,
\r
167 MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA,
\r
168 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,
\r
169 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,
\r
170 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
\r
171 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
\r
172 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,
\r
173 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
\r
174 MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8,
\r
176 /* All CAMELLIA-256 suites */
\r
177 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384,
\r
178 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256,
\r
179 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA,
\r
180 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384,
\r
181 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,
\r
182 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
\r
183 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
\r
185 /* All ARIA-256 suites */
\r
186 MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384,
\r
187 MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384,
\r
188 MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384,
\r
189 MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384,
\r
190 MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384,
\r
191 MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384,
\r
193 /* All AES-128 suites */
\r
194 MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256,
\r
195 MBEDTLS_TLS_RSA_WITH_AES_128_CCM,
\r
196 MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256,
\r
197 MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA,
\r
198 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,
\r
199 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,
\r
200 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
\r
201 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
\r
202 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,
\r
203 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
\r
204 MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8,
\r
206 /* All CAMELLIA-128 suites */
\r
207 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256,
\r
208 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256,
\r
209 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA,
\r
210 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256,
\r
211 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
\r
212 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
\r
213 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
\r
215 /* All ARIA-128 suites */
\r
216 MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256,
\r
217 MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256,
\r
218 MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256,
\r
219 MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256,
\r
220 MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256,
\r
221 MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256,
\r
223 /* The RSA PSK suites */
\r
224 MBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256,
\r
225 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384,
\r
226 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384,
\r
227 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA,
\r
228 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384,
\r
229 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
\r
230 MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
\r
231 MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384,
\r
233 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256,
\r
234 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256,
\r
235 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA,
\r
236 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256,
\r
237 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
\r
238 MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
\r
239 MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256,
\r
241 /* The PSK suites */
\r
242 MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256,
\r
243 MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384,
\r
244 MBEDTLS_TLS_PSK_WITH_AES_256_CCM,
\r
245 MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384,
\r
246 MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA,
\r
247 MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384,
\r
248 MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384,
\r
249 MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8,
\r
250 MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384,
\r
251 MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384,
\r
253 MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256,
\r
254 MBEDTLS_TLS_PSK_WITH_AES_128_CCM,
\r
255 MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256,
\r
256 MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA,
\r
257 MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256,
\r
258 MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256,
\r
259 MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8,
\r
260 MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256,
\r
261 MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256,
\r
264 MBEDTLS_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,
\r
265 MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
\r
266 MBEDTLS_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
\r
267 MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA,
\r
268 MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA,
\r
269 MBEDTLS_TLS_RSA_WITH_3DES_EDE_CBC_SHA,
\r
270 MBEDTLS_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,
\r
271 MBEDTLS_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,
\r
272 MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA,
\r
273 MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA,
\r
276 MBEDTLS_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,
\r
277 MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA,
\r
278 MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA,
\r
279 MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA,
\r
280 MBEDTLS_TLS_RSA_WITH_RC4_128_SHA,
\r
281 MBEDTLS_TLS_RSA_WITH_RC4_128_MD5,
\r
282 MBEDTLS_TLS_ECDH_RSA_WITH_RC4_128_SHA,
\r
283 MBEDTLS_TLS_ECDH_ECDSA_WITH_RC4_128_SHA,
\r
284 MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA,
\r
285 MBEDTLS_TLS_PSK_WITH_RC4_128_SHA,
\r
288 MBEDTLS_TLS_DHE_RSA_WITH_DES_CBC_SHA,
\r
289 MBEDTLS_TLS_RSA_WITH_DES_CBC_SHA,
\r
292 MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA,
\r
293 MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA,
\r
294 MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384,
\r
295 MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256,
\r
296 MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA,
\r
297 MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384,
\r
298 MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256,
\r
299 MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA,
\r
301 MBEDTLS_TLS_RSA_WITH_NULL_SHA256,
\r
302 MBEDTLS_TLS_RSA_WITH_NULL_SHA,
\r
303 MBEDTLS_TLS_RSA_WITH_NULL_MD5,
\r
304 MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA,
\r
305 MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA,
\r
306 MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384,
\r
307 MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256,
\r
308 MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA,
\r
309 MBEDTLS_TLS_PSK_WITH_NULL_SHA384,
\r
310 MBEDTLS_TLS_PSK_WITH_NULL_SHA256,
\r
311 MBEDTLS_TLS_PSK_WITH_NULL_SHA,
\r
313 #endif /* MBEDTLS_SSL_CIPHERSUITES */
\r
317 static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] =
\r
319 #if defined(MBEDTLS_CHACHAPOLY_C) && \
\r
320 defined(MBEDTLS_SHA256_C) && \
\r
321 defined(MBEDTLS_SSL_PROTO_TLS1_2)
\r
322 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
\r
323 { MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
\r
324 "TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256",
\r
325 MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
\r
326 MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
327 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
328 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
331 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
\r
332 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
\r
333 "TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256",
\r
334 MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
\r
335 MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
336 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
337 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
340 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
\r
341 { MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
\r
342 "TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256",
\r
343 MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
\r
344 MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
345 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
346 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
349 #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
\r
350 { MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256,
\r
351 "TLS-PSK-WITH-CHACHA20-POLY1305-SHA256",
\r
352 MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
\r
353 MBEDTLS_KEY_EXCHANGE_PSK,
\r
354 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
355 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
358 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
\r
359 { MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
\r
360 "TLS-ECDHE-PSK-WITH-CHACHA20-POLY1305-SHA256",
\r
361 MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
\r
362 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
\r
363 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
364 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
367 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
\r
368 { MBEDTLS_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
\r
369 "TLS-DHE-PSK-WITH-CHACHA20-POLY1305-SHA256",
\r
370 MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
\r
371 MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
372 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
373 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
376 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
\r
377 { MBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256,
\r
378 "TLS-RSA-PSK-WITH-CHACHA20-POLY1305-SHA256",
\r
379 MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
\r
380 MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
381 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
382 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
385 #endif /* MBEDTLS_CHACHAPOLY_C &&
\r
386 MBEDTLS_SHA256_C &&
\r
387 MBEDTLS_SSL_PROTO_TLS1_2 */
\r
388 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
\r
389 #if defined(MBEDTLS_AES_C)
\r
390 #if defined(MBEDTLS_SHA1_C)
\r
391 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
392 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA",
\r
393 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
394 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
395 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
397 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA",
\r
398 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
399 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
400 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
402 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
403 #endif /* MBEDTLS_SHA1_C */
\r
404 #if defined(MBEDTLS_SHA256_C)
\r
405 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
406 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256",
\r
407 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
408 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
409 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
411 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
412 #if defined(MBEDTLS_GCM_C)
\r
413 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256",
\r
414 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
415 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
416 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
418 #endif /* MBEDTLS_GCM_C */
\r
419 #endif /* MBEDTLS_SHA256_C */
\r
420 #if defined(MBEDTLS_SHA512_C)
\r
421 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
422 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384",
\r
423 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
424 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
425 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
427 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
428 #if defined(MBEDTLS_GCM_C)
\r
429 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384",
\r
430 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
431 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
432 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
434 #endif /* MBEDTLS_GCM_C */
\r
435 #endif /* MBEDTLS_SHA512_C */
\r
436 #if defined(MBEDTLS_CCM_C)
\r
437 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM",
\r
438 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
439 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
440 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
442 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM-8",
\r
443 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
444 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
445 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
446 MBEDTLS_CIPHERSUITE_SHORT_TAG },
\r
447 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM",
\r
448 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
449 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
450 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
452 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8",
\r
453 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
454 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
455 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
456 MBEDTLS_CIPHERSUITE_SHORT_TAG },
\r
457 #endif /* MBEDTLS_CCM_C */
\r
458 #endif /* MBEDTLS_AES_C */
\r
460 #if defined(MBEDTLS_CAMELLIA_C)
\r
461 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
462 #if defined(MBEDTLS_SHA256_C)
\r
463 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-CBC-SHA256",
\r
464 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
465 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
466 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
468 #endif /* MBEDTLS_SHA256_C */
\r
469 #if defined(MBEDTLS_SHA512_C)
\r
470 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-CBC-SHA384",
\r
471 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
472 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
473 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
475 #endif /* MBEDTLS_SHA512_C */
\r
476 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
478 #if defined(MBEDTLS_GCM_C)
\r
479 #if defined(MBEDTLS_SHA256_C)
\r
480 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-GCM-SHA256",
\r
481 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
482 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
483 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
485 #endif /* MBEDTLS_SHA256_C */
\r
486 #if defined(MBEDTLS_SHA512_C)
\r
487 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-GCM-SHA384",
\r
488 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
489 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
490 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
492 #endif /* MBEDTLS_SHA512_C */
\r
493 #endif /* MBEDTLS_GCM_C */
\r
494 #endif /* MBEDTLS_CAMELLIA_C */
\r
496 #if defined(MBEDTLS_DES_C)
\r
497 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
498 #if defined(MBEDTLS_SHA1_C)
\r
499 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-3DES-EDE-CBC-SHA",
\r
500 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
501 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
502 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
504 #endif /* MBEDTLS_SHA1_C */
\r
505 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
506 #endif /* MBEDTLS_DES_C */
\r
508 #if defined(MBEDTLS_ARC4_C)
\r
509 #if defined(MBEDTLS_SHA1_C)
\r
510 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, "TLS-ECDHE-ECDSA-WITH-RC4-128-SHA",
\r
511 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
512 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
513 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
514 MBEDTLS_CIPHERSUITE_NODTLS },
\r
515 #endif /* MBEDTLS_SHA1_C */
\r
516 #endif /* MBEDTLS_ARC4_C */
\r
518 #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
\r
519 #if defined(MBEDTLS_SHA1_C)
\r
520 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA, "TLS-ECDHE-ECDSA-WITH-NULL-SHA",
\r
521 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
522 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
523 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
524 MBEDTLS_CIPHERSUITE_WEAK },
\r
525 #endif /* MBEDTLS_SHA1_C */
\r
526 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
\r
527 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
\r
529 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
\r
530 #if defined(MBEDTLS_AES_C)
\r
531 #if defined(MBEDTLS_SHA1_C)
\r
532 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
533 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA",
\r
534 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
535 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
536 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
538 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA",
\r
539 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
540 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
541 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
543 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
544 #endif /* MBEDTLS_SHA1_C */
\r
545 #if defined(MBEDTLS_SHA256_C)
\r
546 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
547 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256",
\r
548 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
549 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
550 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
552 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
553 #if defined(MBEDTLS_GCM_C)
\r
554 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256",
\r
555 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
556 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
557 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
559 #endif /* MBEDTLS_GCM_C */
\r
560 #endif /* MBEDTLS_SHA256_C */
\r
561 #if defined(MBEDTLS_SHA512_C)
\r
562 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
563 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384",
\r
564 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
565 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
566 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
568 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
569 #if defined(MBEDTLS_GCM_C)
\r
570 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384",
\r
571 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
572 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
573 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
575 #endif /* MBEDTLS_GCM_C */
\r
576 #endif /* MBEDTLS_SHA512_C */
\r
577 #endif /* MBEDTLS_AES_C */
\r
579 #if defined(MBEDTLS_CAMELLIA_C)
\r
580 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
581 #if defined(MBEDTLS_SHA256_C)
\r
582 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-CAMELLIA-128-CBC-SHA256",
\r
583 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
584 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
585 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
587 #endif /* MBEDTLS_SHA256_C */
\r
588 #if defined(MBEDTLS_SHA512_C)
\r
589 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-CAMELLIA-256-CBC-SHA384",
\r
590 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
591 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
592 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
594 #endif /* MBEDTLS_SHA512_C */
\r
595 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
597 #if defined(MBEDTLS_GCM_C)
\r
598 #if defined(MBEDTLS_SHA256_C)
\r
599 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-CAMELLIA-128-GCM-SHA256",
\r
600 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
601 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
602 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
604 #endif /* MBEDTLS_SHA256_C */
\r
605 #if defined(MBEDTLS_SHA512_C)
\r
606 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-CAMELLIA-256-GCM-SHA384",
\r
607 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
608 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
609 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
611 #endif /* MBEDTLS_SHA512_C */
\r
612 #endif /* MBEDTLS_GCM_C */
\r
613 #endif /* MBEDTLS_CAMELLIA_C */
\r
615 #if defined(MBEDTLS_DES_C)
\r
616 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
617 #if defined(MBEDTLS_SHA1_C)
\r
618 { MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA",
\r
619 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
620 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
621 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
623 #endif /* MBEDTLS_SHA1_C */
\r
624 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
625 #endif /* MBEDTLS_DES_C */
\r
627 #if defined(MBEDTLS_ARC4_C)
\r
628 #if defined(MBEDTLS_SHA1_C)
\r
629 { MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA, "TLS-ECDHE-RSA-WITH-RC4-128-SHA",
\r
630 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
631 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
632 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
633 MBEDTLS_CIPHERSUITE_NODTLS },
\r
634 #endif /* MBEDTLS_SHA1_C */
\r
635 #endif /* MBEDTLS_ARC4_C */
\r
637 #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
\r
638 #if defined(MBEDTLS_SHA1_C)
\r
639 { MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA, "TLS-ECDHE-RSA-WITH-NULL-SHA",
\r
640 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
641 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
642 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
643 MBEDTLS_CIPHERSUITE_WEAK },
\r
644 #endif /* MBEDTLS_SHA1_C */
\r
645 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
\r
646 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
\r
648 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
\r
649 #if defined(MBEDTLS_AES_C)
\r
650 #if defined(MBEDTLS_SHA512_C) && defined(MBEDTLS_GCM_C)
\r
651 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-DHE-RSA-WITH-AES-256-GCM-SHA384",
\r
652 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
653 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
654 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
656 #endif /* MBEDTLS_SHA512_C && MBEDTLS_GCM_C */
\r
658 #if defined(MBEDTLS_SHA256_C)
\r
659 #if defined(MBEDTLS_GCM_C)
\r
660 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-DHE-RSA-WITH-AES-128-GCM-SHA256",
\r
661 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
662 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
663 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
665 #endif /* MBEDTLS_GCM_C */
\r
667 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
668 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA256",
\r
669 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
670 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
671 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
674 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA256",
\r
675 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
676 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
677 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
679 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
680 #endif /* MBEDTLS_SHA256_C */
\r
682 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
683 #if defined(MBEDTLS_SHA1_C)
\r
684 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA",
\r
685 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
686 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
687 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
690 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA",
\r
691 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
692 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
693 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
695 #endif /* MBEDTLS_SHA1_C */
\r
696 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
697 #if defined(MBEDTLS_CCM_C)
\r
698 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM, "TLS-DHE-RSA-WITH-AES-256-CCM",
\r
699 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
700 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
701 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
703 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8, "TLS-DHE-RSA-WITH-AES-256-CCM-8",
\r
704 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
705 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
706 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
707 MBEDTLS_CIPHERSUITE_SHORT_TAG },
\r
708 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM, "TLS-DHE-RSA-WITH-AES-128-CCM",
\r
709 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
710 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
711 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
713 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8, "TLS-DHE-RSA-WITH-AES-128-CCM-8",
\r
714 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
715 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
716 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
717 MBEDTLS_CIPHERSUITE_SHORT_TAG },
\r
718 #endif /* MBEDTLS_CCM_C */
\r
719 #endif /* MBEDTLS_AES_C */
\r
721 #if defined(MBEDTLS_CAMELLIA_C)
\r
722 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
723 #if defined(MBEDTLS_SHA256_C)
\r
724 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256",
\r
725 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
726 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
727 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
730 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256",
\r
731 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
732 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
733 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
735 #endif /* MBEDTLS_SHA256_C */
\r
737 #if defined(MBEDTLS_SHA1_C)
\r
738 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA",
\r
739 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
740 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
741 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
744 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA",
\r
745 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
746 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
747 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
749 #endif /* MBEDTLS_SHA1_C */
\r
750 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
751 #if defined(MBEDTLS_GCM_C)
\r
752 #if defined(MBEDTLS_SHA256_C)
\r
753 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256",
\r
754 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
755 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
756 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
758 #endif /* MBEDTLS_SHA256_C */
\r
760 #if defined(MBEDTLS_SHA512_C)
\r
761 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384",
\r
762 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
763 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
764 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
766 #endif /* MBEDTLS_SHA512_C */
\r
767 #endif /* MBEDTLS_GCM_C */
\r
768 #endif /* MBEDTLS_CAMELLIA_C */
\r
770 #if defined(MBEDTLS_DES_C)
\r
771 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
772 #if defined(MBEDTLS_SHA1_C)
\r
773 { MBEDTLS_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA",
\r
774 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
775 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
776 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
778 #endif /* MBEDTLS_SHA1_C */
\r
779 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
780 #endif /* MBEDTLS_DES_C */
\r
781 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
\r
783 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
\r
784 #if defined(MBEDTLS_AES_C)
\r
785 #if defined(MBEDTLS_SHA512_C) && defined(MBEDTLS_GCM_C)
\r
786 { MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384, "TLS-RSA-WITH-AES-256-GCM-SHA384",
\r
787 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
\r
788 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
789 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
791 #endif /* MBEDTLS_SHA512_C && MBEDTLS_GCM_C */
\r
793 #if defined(MBEDTLS_SHA256_C)
\r
794 #if defined(MBEDTLS_GCM_C)
\r
795 { MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256, "TLS-RSA-WITH-AES-128-GCM-SHA256",
\r
796 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
\r
797 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
798 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
800 #endif /* MBEDTLS_GCM_C */
\r
802 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
803 { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256, "TLS-RSA-WITH-AES-128-CBC-SHA256",
\r
804 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
\r
805 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
806 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
809 { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256, "TLS-RSA-WITH-AES-256-CBC-SHA256",
\r
810 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
\r
811 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
812 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
814 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
815 #endif /* MBEDTLS_SHA256_C */
\r
817 #if defined(MBEDTLS_SHA1_C)
\r
818 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
819 { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA, "TLS-RSA-WITH-AES-128-CBC-SHA",
\r
820 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
\r
821 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
822 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
825 { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA, "TLS-RSA-WITH-AES-256-CBC-SHA",
\r
826 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
\r
827 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
828 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
830 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
831 #endif /* MBEDTLS_SHA1_C */
\r
832 #if defined(MBEDTLS_CCM_C)
\r
833 { MBEDTLS_TLS_RSA_WITH_AES_256_CCM, "TLS-RSA-WITH-AES-256-CCM",
\r
834 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
\r
835 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
836 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
838 { MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8, "TLS-RSA-WITH-AES-256-CCM-8",
\r
839 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
\r
840 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
841 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
842 MBEDTLS_CIPHERSUITE_SHORT_TAG },
\r
843 { MBEDTLS_TLS_RSA_WITH_AES_128_CCM, "TLS-RSA-WITH-AES-128-CCM",
\r
844 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
\r
845 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
846 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
848 { MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8, "TLS-RSA-WITH-AES-128-CCM-8",
\r
849 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
\r
850 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
851 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
852 MBEDTLS_CIPHERSUITE_SHORT_TAG },
\r
853 #endif /* MBEDTLS_CCM_C */
\r
854 #endif /* MBEDTLS_AES_C */
\r
856 #if defined(MBEDTLS_CAMELLIA_C)
\r
857 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
858 #if defined(MBEDTLS_SHA256_C)
\r
859 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256",
\r
860 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
\r
861 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
862 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
865 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256",
\r
866 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
\r
867 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
868 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
870 #endif /* MBEDTLS_SHA256_C */
\r
872 #if defined(MBEDTLS_SHA1_C)
\r
873 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA",
\r
874 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
\r
875 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
876 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
879 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA",
\r
880 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
\r
881 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
882 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
884 #endif /* MBEDTLS_SHA1_C */
\r
885 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
887 #if defined(MBEDTLS_GCM_C)
\r
888 #if defined(MBEDTLS_SHA256_C)
\r
889 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-WITH-CAMELLIA-128-GCM-SHA256",
\r
890 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
\r
891 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
892 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
894 #endif /* MBEDTLS_SHA256_C */
\r
896 #if defined(MBEDTLS_SHA1_C)
\r
897 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-WITH-CAMELLIA-256-GCM-SHA384",
\r
898 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
\r
899 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
900 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
902 #endif /* MBEDTLS_SHA1_C */
\r
903 #endif /* MBEDTLS_GCM_C */
\r
904 #endif /* MBEDTLS_CAMELLIA_C */
\r
906 #if defined(MBEDTLS_DES_C)
\r
907 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
908 #if defined(MBEDTLS_SHA1_C)
\r
909 { MBEDTLS_TLS_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-RSA-WITH-3DES-EDE-CBC-SHA",
\r
910 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
\r
911 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
912 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
914 #endif /* MBEDTLS_SHA1_C */
\r
915 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
916 #endif /* MBEDTLS_DES_C */
\r
918 #if defined(MBEDTLS_ARC4_C)
\r
919 #if defined(MBEDTLS_MD5_C)
\r
920 { MBEDTLS_TLS_RSA_WITH_RC4_128_MD5, "TLS-RSA-WITH-RC4-128-MD5",
\r
921 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_MD5, MBEDTLS_KEY_EXCHANGE_RSA,
\r
922 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
923 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
924 MBEDTLS_CIPHERSUITE_NODTLS },
\r
927 #if defined(MBEDTLS_SHA1_C)
\r
928 { MBEDTLS_TLS_RSA_WITH_RC4_128_SHA, "TLS-RSA-WITH-RC4-128-SHA",
\r
929 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
\r
930 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
931 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
932 MBEDTLS_CIPHERSUITE_NODTLS },
\r
934 #endif /* MBEDTLS_ARC4_C */
\r
935 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
\r
937 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)
\r
938 #if defined(MBEDTLS_AES_C)
\r
939 #if defined(MBEDTLS_SHA1_C)
\r
940 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
941 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA",
\r
942 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
943 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
944 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
946 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA",
\r
947 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
948 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
949 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
951 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
952 #endif /* MBEDTLS_SHA1_C */
\r
953 #if defined(MBEDTLS_SHA256_C)
\r
954 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
955 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA256",
\r
956 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
957 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
958 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
960 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
961 #if defined(MBEDTLS_GCM_C)
\r
962 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256",
\r
963 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
964 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
965 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
967 #endif /* MBEDTLS_GCM_C */
\r
968 #endif /* MBEDTLS_SHA256_C */
\r
969 #if defined(MBEDTLS_SHA512_C)
\r
970 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
971 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384",
\r
972 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
973 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
974 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
976 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
977 #if defined(MBEDTLS_GCM_C)
\r
978 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-AES-256-GCM-SHA384",
\r
979 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
980 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
981 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
983 #endif /* MBEDTLS_GCM_C */
\r
984 #endif /* MBEDTLS_SHA512_C */
\r
985 #endif /* MBEDTLS_AES_C */
\r
987 #if defined(MBEDTLS_CAMELLIA_C)
\r
988 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
989 #if defined(MBEDTLS_SHA256_C)
\r
990 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-CAMELLIA-128-CBC-SHA256",
\r
991 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
992 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
993 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
995 #endif /* MBEDTLS_SHA256_C */
\r
996 #if defined(MBEDTLS_SHA512_C)
\r
997 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-CAMELLIA-256-CBC-SHA384",
\r
998 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
999 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1000 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1002 #endif /* MBEDTLS_SHA512_C */
\r
1003 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1005 #if defined(MBEDTLS_GCM_C)
\r
1006 #if defined(MBEDTLS_SHA256_C)
\r
1007 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-CAMELLIA-128-GCM-SHA256",
\r
1008 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
1009 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1010 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1012 #endif /* MBEDTLS_SHA256_C */
\r
1013 #if defined(MBEDTLS_SHA512_C)
\r
1014 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-CAMELLIA-256-GCM-SHA384",
\r
1015 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
1016 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1017 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1019 #endif /* MBEDTLS_SHA512_C */
\r
1020 #endif /* MBEDTLS_GCM_C */
\r
1021 #endif /* MBEDTLS_CAMELLIA_C */
\r
1023 #if defined(MBEDTLS_DES_C)
\r
1024 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1025 #if defined(MBEDTLS_SHA1_C)
\r
1026 { MBEDTLS_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDH-RSA-WITH-3DES-EDE-CBC-SHA",
\r
1027 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
1028 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1029 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1031 #endif /* MBEDTLS_SHA1_C */
\r
1032 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1033 #endif /* MBEDTLS_DES_C */
\r
1035 #if defined(MBEDTLS_ARC4_C)
\r
1036 #if defined(MBEDTLS_SHA1_C)
\r
1037 { MBEDTLS_TLS_ECDH_RSA_WITH_RC4_128_SHA, "TLS-ECDH-RSA-WITH-RC4-128-SHA",
\r
1038 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
1039 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1040 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1041 MBEDTLS_CIPHERSUITE_NODTLS },
\r
1042 #endif /* MBEDTLS_SHA1_C */
\r
1043 #endif /* MBEDTLS_ARC4_C */
\r
1045 #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
\r
1046 #if defined(MBEDTLS_SHA1_C)
\r
1047 { MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA, "TLS-ECDH-RSA-WITH-NULL-SHA",
\r
1048 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
1049 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1050 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1051 MBEDTLS_CIPHERSUITE_WEAK },
\r
1052 #endif /* MBEDTLS_SHA1_C */
\r
1053 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
\r
1054 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */
\r
1056 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
\r
1057 #if defined(MBEDTLS_AES_C)
\r
1058 #if defined(MBEDTLS_SHA1_C)
\r
1059 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1060 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA",
\r
1061 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
1062 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1063 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1065 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA",
\r
1066 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
1067 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1068 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1070 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1071 #endif /* MBEDTLS_SHA1_C */
\r
1072 #if defined(MBEDTLS_SHA256_C)
\r
1073 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1074 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA256",
\r
1075 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
1076 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1077 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1079 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1080 #if defined(MBEDTLS_GCM_C)
\r
1081 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256",
\r
1082 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
1083 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1084 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1086 #endif /* MBEDTLS_GCM_C */
\r
1087 #endif /* MBEDTLS_SHA256_C */
\r
1088 #if defined(MBEDTLS_SHA512_C)
\r
1089 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1090 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA384",
\r
1091 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
1092 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1093 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1095 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1096 #if defined(MBEDTLS_GCM_C)
\r
1097 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384",
\r
1098 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
1099 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1100 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1102 #endif /* MBEDTLS_GCM_C */
\r
1103 #endif /* MBEDTLS_SHA512_C */
\r
1104 #endif /* MBEDTLS_AES_C */
\r
1106 #if defined(MBEDTLS_CAMELLIA_C)
\r
1107 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1108 #if defined(MBEDTLS_SHA256_C)
\r
1109 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-CBC-SHA256",
\r
1110 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
1111 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1112 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1114 #endif /* MBEDTLS_SHA256_C */
\r
1115 #if defined(MBEDTLS_SHA512_C)
\r
1116 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384",
\r
1117 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
1118 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1119 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1121 #endif /* MBEDTLS_SHA512_C */
\r
1122 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1124 #if defined(MBEDTLS_GCM_C)
\r
1125 #if defined(MBEDTLS_SHA256_C)
\r
1126 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-GCM-SHA256",
\r
1127 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
1128 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1129 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1131 #endif /* MBEDTLS_SHA256_C */
\r
1132 #if defined(MBEDTLS_SHA512_C)
\r
1133 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-GCM-SHA384",
\r
1134 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
1135 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1136 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1138 #endif /* MBEDTLS_SHA512_C */
\r
1139 #endif /* MBEDTLS_GCM_C */
\r
1140 #endif /* MBEDTLS_CAMELLIA_C */
\r
1142 #if defined(MBEDTLS_DES_C)
\r
1143 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1144 #if defined(MBEDTLS_SHA1_C)
\r
1145 { MBEDTLS_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDH-ECDSA-WITH-3DES-EDE-CBC-SHA",
\r
1146 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
1147 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1148 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1150 #endif /* MBEDTLS_SHA1_C */
\r
1151 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1152 #endif /* MBEDTLS_DES_C */
\r
1154 #if defined(MBEDTLS_ARC4_C)
\r
1155 #if defined(MBEDTLS_SHA1_C)
\r
1156 { MBEDTLS_TLS_ECDH_ECDSA_WITH_RC4_128_SHA, "TLS-ECDH-ECDSA-WITH-RC4-128-SHA",
\r
1157 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
1158 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1159 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1160 MBEDTLS_CIPHERSUITE_NODTLS },
\r
1161 #endif /* MBEDTLS_SHA1_C */
\r
1162 #endif /* MBEDTLS_ARC4_C */
\r
1164 #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
\r
1165 #if defined(MBEDTLS_SHA1_C)
\r
1166 { MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA, "TLS-ECDH-ECDSA-WITH-NULL-SHA",
\r
1167 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
1168 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1169 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1170 MBEDTLS_CIPHERSUITE_WEAK },
\r
1171 #endif /* MBEDTLS_SHA1_C */
\r
1172 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
\r
1173 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
\r
1175 #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
\r
1176 #if defined(MBEDTLS_AES_C)
\r
1177 #if defined(MBEDTLS_GCM_C)
\r
1178 #if defined(MBEDTLS_SHA256_C)
\r
1179 { MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256, "TLS-PSK-WITH-AES-128-GCM-SHA256",
\r
1180 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1181 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1182 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1184 #endif /* MBEDTLS_SHA256_C */
\r
1186 #if defined(MBEDTLS_SHA512_C)
\r
1187 { MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384, "TLS-PSK-WITH-AES-256-GCM-SHA384",
\r
1188 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1189 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1190 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1192 #endif /* MBEDTLS_SHA512_C */
\r
1193 #endif /* MBEDTLS_GCM_C */
\r
1195 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1196 #if defined(MBEDTLS_SHA256_C)
\r
1197 { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256, "TLS-PSK-WITH-AES-128-CBC-SHA256",
\r
1198 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1199 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1200 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1202 #endif /* MBEDTLS_SHA256_C */
\r
1204 #if defined(MBEDTLS_SHA512_C)
\r
1205 { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384, "TLS-PSK-WITH-AES-256-CBC-SHA384",
\r
1206 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1207 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1208 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1210 #endif /* MBEDTLS_SHA512_C */
\r
1212 #if defined(MBEDTLS_SHA1_C)
\r
1213 { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA, "TLS-PSK-WITH-AES-128-CBC-SHA",
\r
1214 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1215 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
1216 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1219 { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA, "TLS-PSK-WITH-AES-256-CBC-SHA",
\r
1220 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1221 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
1222 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1224 #endif /* MBEDTLS_SHA1_C */
\r
1225 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1226 #if defined(MBEDTLS_CCM_C)
\r
1227 { MBEDTLS_TLS_PSK_WITH_AES_256_CCM, "TLS-PSK-WITH-AES-256-CCM",
\r
1228 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1229 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1230 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1232 { MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8, "TLS-PSK-WITH-AES-256-CCM-8",
\r
1233 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1234 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1235 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1236 MBEDTLS_CIPHERSUITE_SHORT_TAG },
\r
1237 { MBEDTLS_TLS_PSK_WITH_AES_128_CCM, "TLS-PSK-WITH-AES-128-CCM",
\r
1238 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1239 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1240 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1242 { MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8, "TLS-PSK-WITH-AES-128-CCM-8",
\r
1243 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1244 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1245 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1246 MBEDTLS_CIPHERSUITE_SHORT_TAG },
\r
1247 #endif /* MBEDTLS_CCM_C */
\r
1248 #endif /* MBEDTLS_AES_C */
\r
1250 #if defined(MBEDTLS_CAMELLIA_C)
\r
1251 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1252 #if defined(MBEDTLS_SHA256_C)
\r
1253 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-PSK-WITH-CAMELLIA-128-CBC-SHA256",
\r
1254 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1255 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1256 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1258 #endif /* MBEDTLS_SHA256_C */
\r
1260 #if defined(MBEDTLS_SHA512_C)
\r
1261 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-PSK-WITH-CAMELLIA-256-CBC-SHA384",
\r
1262 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1263 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1264 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1266 #endif /* MBEDTLS_SHA512_C */
\r
1267 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1269 #if defined(MBEDTLS_GCM_C)
\r
1270 #if defined(MBEDTLS_SHA256_C)
\r
1271 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-PSK-WITH-CAMELLIA-128-GCM-SHA256",
\r
1272 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1273 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1274 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1276 #endif /* MBEDTLS_SHA256_C */
\r
1278 #if defined(MBEDTLS_SHA512_C)
\r
1279 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-PSK-WITH-CAMELLIA-256-GCM-SHA384",
\r
1280 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1281 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1282 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1284 #endif /* MBEDTLS_SHA512_C */
\r
1285 #endif /* MBEDTLS_GCM_C */
\r
1286 #endif /* MBEDTLS_CAMELLIA_C */
\r
1288 #if defined(MBEDTLS_DES_C)
\r
1289 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1290 #if defined(MBEDTLS_SHA1_C)
\r
1291 { MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-PSK-WITH-3DES-EDE-CBC-SHA",
\r
1292 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1293 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
1294 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1296 #endif /* MBEDTLS_SHA1_C */
\r
1297 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1298 #endif /* MBEDTLS_DES_C */
\r
1300 #if defined(MBEDTLS_ARC4_C)
\r
1301 #if defined(MBEDTLS_SHA1_C)
\r
1302 { MBEDTLS_TLS_PSK_WITH_RC4_128_SHA, "TLS-PSK-WITH-RC4-128-SHA",
\r
1303 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1304 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
1305 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1306 MBEDTLS_CIPHERSUITE_NODTLS },
\r
1307 #endif /* MBEDTLS_SHA1_C */
\r
1308 #endif /* MBEDTLS_ARC4_C */
\r
1309 #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
\r
1311 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
\r
1312 #if defined(MBEDTLS_AES_C)
\r
1313 #if defined(MBEDTLS_GCM_C)
\r
1314 #if defined(MBEDTLS_SHA256_C)
\r
1315 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, "TLS-DHE-PSK-WITH-AES-128-GCM-SHA256",
\r
1316 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1317 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1318 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1320 #endif /* MBEDTLS_SHA256_C */
\r
1322 #if defined(MBEDTLS_SHA512_C)
\r
1323 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384, "TLS-DHE-PSK-WITH-AES-256-GCM-SHA384",
\r
1324 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1325 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1326 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1328 #endif /* MBEDTLS_SHA512_C */
\r
1329 #endif /* MBEDTLS_GCM_C */
\r
1331 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1332 #if defined(MBEDTLS_SHA256_C)
\r
1333 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA256",
\r
1334 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1335 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1336 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1338 #endif /* MBEDTLS_SHA256_C */
\r
1340 #if defined(MBEDTLS_SHA512_C)
\r
1341 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA384",
\r
1342 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1343 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1344 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1346 #endif /* MBEDTLS_SHA512_C */
\r
1348 #if defined(MBEDTLS_SHA1_C)
\r
1349 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA",
\r
1350 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1351 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
1352 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1355 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA",
\r
1356 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1357 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
1358 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1360 #endif /* MBEDTLS_SHA1_C */
\r
1361 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1362 #if defined(MBEDTLS_CCM_C)
\r
1363 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM, "TLS-DHE-PSK-WITH-AES-256-CCM",
\r
1364 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1365 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1366 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1368 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8, "TLS-DHE-PSK-WITH-AES-256-CCM-8",
\r
1369 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1370 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1371 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1372 MBEDTLS_CIPHERSUITE_SHORT_TAG },
\r
1373 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM, "TLS-DHE-PSK-WITH-AES-128-CCM",
\r
1374 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1375 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1376 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1378 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8, "TLS-DHE-PSK-WITH-AES-128-CCM-8",
\r
1379 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1380 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1381 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1382 MBEDTLS_CIPHERSUITE_SHORT_TAG },
\r
1383 #endif /* MBEDTLS_CCM_C */
\r
1384 #endif /* MBEDTLS_AES_C */
\r
1386 #if defined(MBEDTLS_CAMELLIA_C)
\r
1387 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1388 #if defined(MBEDTLS_SHA256_C)
\r
1389 { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-CBC-SHA256",
\r
1390 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1391 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1392 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1394 #endif /* MBEDTLS_SHA256_C */
\r
1396 #if defined(MBEDTLS_SHA512_C)
\r
1397 { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-CBC-SHA384",
\r
1398 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1399 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1400 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1402 #endif /* MBEDTLS_SHA512_C */
\r
1403 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1405 #if defined(MBEDTLS_GCM_C)
\r
1406 #if defined(MBEDTLS_SHA256_C)
\r
1407 { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-GCM-SHA256",
\r
1408 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1409 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1410 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1412 #endif /* MBEDTLS_SHA256_C */
\r
1414 #if defined(MBEDTLS_SHA512_C)
\r
1415 { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-GCM-SHA384",
\r
1416 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1417 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1418 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1420 #endif /* MBEDTLS_SHA512_C */
\r
1421 #endif /* MBEDTLS_GCM_C */
\r
1422 #endif /* MBEDTLS_CAMELLIA_C */
\r
1424 #if defined(MBEDTLS_DES_C)
\r
1425 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1426 #if defined(MBEDTLS_SHA1_C)
\r
1427 { MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-DHE-PSK-WITH-3DES-EDE-CBC-SHA",
\r
1428 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1429 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
1430 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1432 #endif /* MBEDTLS_SHA1_C */
\r
1433 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1434 #endif /* MBEDTLS_DES_C */
\r
1436 #if defined(MBEDTLS_ARC4_C)
\r
1437 #if defined(MBEDTLS_SHA1_C)
\r
1438 { MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA, "TLS-DHE-PSK-WITH-RC4-128-SHA",
\r
1439 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1440 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
1441 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1442 MBEDTLS_CIPHERSUITE_NODTLS },
\r
1443 #endif /* MBEDTLS_SHA1_C */
\r
1444 #endif /* MBEDTLS_ARC4_C */
\r
1445 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
\r
1447 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
\r
1448 #if defined(MBEDTLS_AES_C)
\r
1450 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1451 #if defined(MBEDTLS_SHA256_C)
\r
1452 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA256",
\r
1453 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
\r
1454 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1455 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1457 #endif /* MBEDTLS_SHA256_C */
\r
1459 #if defined(MBEDTLS_SHA512_C)
\r
1460 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA384",
\r
1461 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
\r
1462 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1463 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1465 #endif /* MBEDTLS_SHA512_C */
\r
1467 #if defined(MBEDTLS_SHA1_C)
\r
1468 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA",
\r
1469 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
\r
1470 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1471 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1474 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA",
\r
1475 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
\r
1476 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1477 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1479 #endif /* MBEDTLS_SHA1_C */
\r
1480 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1481 #endif /* MBEDTLS_AES_C */
\r
1483 #if defined(MBEDTLS_CAMELLIA_C)
\r
1484 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1485 #if defined(MBEDTLS_SHA256_C)
\r
1486 { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-CAMELLIA-128-CBC-SHA256",
\r
1487 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
\r
1488 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1489 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1491 #endif /* MBEDTLS_SHA256_C */
\r
1493 #if defined(MBEDTLS_SHA512_C)
\r
1494 { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-CAMELLIA-256-CBC-SHA384",
\r
1495 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
\r
1496 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1497 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1499 #endif /* MBEDTLS_SHA512_C */
\r
1500 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1501 #endif /* MBEDTLS_CAMELLIA_C */
\r
1503 #if defined(MBEDTLS_DES_C)
\r
1504 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1505 #if defined(MBEDTLS_SHA1_C)
\r
1506 { MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-PSK-WITH-3DES-EDE-CBC-SHA",
\r
1507 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
\r
1508 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1509 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1511 #endif /* MBEDTLS_SHA1_C */
\r
1512 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1513 #endif /* MBEDTLS_DES_C */
\r
1515 #if defined(MBEDTLS_ARC4_C)
\r
1516 #if defined(MBEDTLS_SHA1_C)
\r
1517 { MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA, "TLS-ECDHE-PSK-WITH-RC4-128-SHA",
\r
1518 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
\r
1519 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1520 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1521 MBEDTLS_CIPHERSUITE_NODTLS },
\r
1522 #endif /* MBEDTLS_SHA1_C */
\r
1523 #endif /* MBEDTLS_ARC4_C */
\r
1524 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
\r
1526 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
\r
1527 #if defined(MBEDTLS_AES_C)
\r
1528 #if defined(MBEDTLS_GCM_C)
\r
1529 #if defined(MBEDTLS_SHA256_C)
\r
1530 { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, "TLS-RSA-PSK-WITH-AES-128-GCM-SHA256",
\r
1531 MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1532 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1533 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1535 #endif /* MBEDTLS_SHA256_C */
\r
1537 #if defined(MBEDTLS_SHA512_C)
\r
1538 { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, "TLS-RSA-PSK-WITH-AES-256-GCM-SHA384",
\r
1539 MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1540 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1541 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1543 #endif /* MBEDTLS_SHA512_C */
\r
1544 #endif /* MBEDTLS_GCM_C */
\r
1546 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1547 #if defined(MBEDTLS_SHA256_C)
\r
1548 { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA256",
\r
1549 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1550 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1551 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1553 #endif /* MBEDTLS_SHA256_C */
\r
1555 #if defined(MBEDTLS_SHA512_C)
\r
1556 { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA384",
\r
1557 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1558 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1559 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1561 #endif /* MBEDTLS_SHA512_C */
\r
1563 #if defined(MBEDTLS_SHA1_C)
\r
1564 { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA",
\r
1565 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1566 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1567 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1570 { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA",
\r
1571 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1572 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1573 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1575 #endif /* MBEDTLS_SHA1_C */
\r
1576 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1577 #endif /* MBEDTLS_AES_C */
\r
1579 #if defined(MBEDTLS_CAMELLIA_C)
\r
1580 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1581 #if defined(MBEDTLS_SHA256_C)
\r
1582 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-CBC-SHA256",
\r
1583 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1584 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1585 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1587 #endif /* MBEDTLS_SHA256_C */
\r
1589 #if defined(MBEDTLS_SHA512_C)
\r
1590 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-CBC-SHA384",
\r
1591 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1592 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1593 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1595 #endif /* MBEDTLS_SHA512_C */
\r
1596 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1598 #if defined(MBEDTLS_GCM_C)
\r
1599 #if defined(MBEDTLS_SHA256_C)
\r
1600 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-GCM-SHA256",
\r
1601 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1602 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1603 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1605 #endif /* MBEDTLS_SHA256_C */
\r
1607 #if defined(MBEDTLS_SHA512_C)
\r
1608 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-GCM-SHA384",
\r
1609 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1610 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1611 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1613 #endif /* MBEDTLS_SHA512_C */
\r
1614 #endif /* MBEDTLS_GCM_C */
\r
1615 #endif /* MBEDTLS_CAMELLIA_C */
\r
1617 #if defined(MBEDTLS_DES_C)
\r
1618 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1619 #if defined(MBEDTLS_SHA1_C)
\r
1620 { MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-RSA-PSK-WITH-3DES-EDE-CBC-SHA",
\r
1621 MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1622 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1623 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1625 #endif /* MBEDTLS_SHA1_C */
\r
1626 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1627 #endif /* MBEDTLS_DES_C */
\r
1629 #if defined(MBEDTLS_ARC4_C)
\r
1630 #if defined(MBEDTLS_SHA1_C)
\r
1631 { MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA, "TLS-RSA-PSK-WITH-RC4-128-SHA",
\r
1632 MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1633 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1634 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1635 MBEDTLS_CIPHERSUITE_NODTLS },
\r
1636 #endif /* MBEDTLS_SHA1_C */
\r
1637 #endif /* MBEDTLS_ARC4_C */
\r
1638 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
\r
1640 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
\r
1641 #if defined(MBEDTLS_AES_C)
\r
1642 #if defined(MBEDTLS_CCM_C)
\r
1643 { MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8, "TLS-ECJPAKE-WITH-AES-128-CCM-8",
\r
1644 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECJPAKE,
\r
1645 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1646 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1647 MBEDTLS_CIPHERSUITE_SHORT_TAG },
\r
1648 #endif /* MBEDTLS_CCM_C */
\r
1649 #endif /* MBEDTLS_AES_C */
\r
1650 #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */
\r
1652 #if defined(MBEDTLS_ENABLE_WEAK_CIPHERSUITES)
\r
1653 #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
\r
1654 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
\r
1655 #if defined(MBEDTLS_MD5_C)
\r
1656 { MBEDTLS_TLS_RSA_WITH_NULL_MD5, "TLS-RSA-WITH-NULL-MD5",
\r
1657 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_MD5, MBEDTLS_KEY_EXCHANGE_RSA,
\r
1658 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
1659 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1660 MBEDTLS_CIPHERSUITE_WEAK },
\r
1663 #if defined(MBEDTLS_SHA1_C)
\r
1664 { MBEDTLS_TLS_RSA_WITH_NULL_SHA, "TLS-RSA-WITH-NULL-SHA",
\r
1665 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
\r
1666 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
1667 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1668 MBEDTLS_CIPHERSUITE_WEAK },
\r
1671 #if defined(MBEDTLS_SHA256_C)
\r
1672 { MBEDTLS_TLS_RSA_WITH_NULL_SHA256, "TLS-RSA-WITH-NULL-SHA256",
\r
1673 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
\r
1674 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1675 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1676 MBEDTLS_CIPHERSUITE_WEAK },
\r
1678 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
\r
1680 #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
\r
1681 #if defined(MBEDTLS_SHA1_C)
\r
1682 { MBEDTLS_TLS_PSK_WITH_NULL_SHA, "TLS-PSK-WITH-NULL-SHA",
\r
1683 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1684 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
1685 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1686 MBEDTLS_CIPHERSUITE_WEAK },
\r
1687 #endif /* MBEDTLS_SHA1_C */
\r
1689 #if defined(MBEDTLS_SHA256_C)
\r
1690 { MBEDTLS_TLS_PSK_WITH_NULL_SHA256, "TLS-PSK-WITH-NULL-SHA256",
\r
1691 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1692 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1693 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1694 MBEDTLS_CIPHERSUITE_WEAK },
\r
1697 #if defined(MBEDTLS_SHA512_C)
\r
1698 { MBEDTLS_TLS_PSK_WITH_NULL_SHA384, "TLS-PSK-WITH-NULL-SHA384",
\r
1699 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1700 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1701 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1702 MBEDTLS_CIPHERSUITE_WEAK },
\r
1704 #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
\r
1706 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
\r
1707 #if defined(MBEDTLS_SHA1_C)
\r
1708 { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA, "TLS-DHE-PSK-WITH-NULL-SHA",
\r
1709 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1710 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
1711 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1712 MBEDTLS_CIPHERSUITE_WEAK },
\r
1713 #endif /* MBEDTLS_SHA1_C */
\r
1715 #if defined(MBEDTLS_SHA256_C)
\r
1716 { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256, "TLS-DHE-PSK-WITH-NULL-SHA256",
\r
1717 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1718 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1719 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1720 MBEDTLS_CIPHERSUITE_WEAK },
\r
1723 #if defined(MBEDTLS_SHA512_C)
\r
1724 { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384, "TLS-DHE-PSK-WITH-NULL-SHA384",
\r
1725 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
1726 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1727 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1728 MBEDTLS_CIPHERSUITE_WEAK },
\r
1730 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
\r
1732 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
\r
1733 #if defined(MBEDTLS_SHA1_C)
\r
1734 { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA, "TLS-ECDHE-PSK-WITH-NULL-SHA",
\r
1735 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
\r
1736 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1737 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1738 MBEDTLS_CIPHERSUITE_WEAK },
\r
1739 #endif /* MBEDTLS_SHA1_C */
\r
1741 #if defined(MBEDTLS_SHA256_C)
\r
1742 { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256, "TLS-ECDHE-PSK-WITH-NULL-SHA256",
\r
1743 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
\r
1744 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1745 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1746 MBEDTLS_CIPHERSUITE_WEAK },
\r
1749 #if defined(MBEDTLS_SHA512_C)
\r
1750 { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384, "TLS-ECDHE-PSK-WITH-NULL-SHA384",
\r
1751 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
\r
1752 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1753 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1754 MBEDTLS_CIPHERSUITE_WEAK },
\r
1756 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
\r
1758 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
\r
1759 #if defined(MBEDTLS_SHA1_C)
\r
1760 { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA, "TLS-RSA-PSK-WITH-NULL-SHA",
\r
1761 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1762 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1763 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1764 MBEDTLS_CIPHERSUITE_WEAK },
\r
1765 #endif /* MBEDTLS_SHA1_C */
\r
1767 #if defined(MBEDTLS_SHA256_C)
\r
1768 { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256, "TLS-RSA-PSK-WITH-NULL-SHA256",
\r
1769 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1770 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1771 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1772 MBEDTLS_CIPHERSUITE_WEAK },
\r
1775 #if defined(MBEDTLS_SHA512_C)
\r
1776 { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384, "TLS-RSA-PSK-WITH-NULL-SHA384",
\r
1777 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1778 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
\r
1779 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1780 MBEDTLS_CIPHERSUITE_WEAK },
\r
1782 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
\r
1783 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
\r
1785 #if defined(MBEDTLS_DES_C)
\r
1786 #if defined(MBEDTLS_CIPHER_MODE_CBC)
\r
1787 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
\r
1788 #if defined(MBEDTLS_SHA1_C)
\r
1789 { MBEDTLS_TLS_DHE_RSA_WITH_DES_CBC_SHA, "TLS-DHE-RSA-WITH-DES-CBC-SHA",
\r
1790 MBEDTLS_CIPHER_DES_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
1791 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
1792 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1793 MBEDTLS_CIPHERSUITE_WEAK },
\r
1794 #endif /* MBEDTLS_SHA1_C */
\r
1795 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
\r
1797 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
\r
1798 #if defined(MBEDTLS_SHA1_C)
\r
1799 { MBEDTLS_TLS_RSA_WITH_DES_CBC_SHA, "TLS-RSA-WITH-DES-CBC-SHA",
\r
1800 MBEDTLS_CIPHER_DES_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
\r
1801 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
\r
1802 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1803 MBEDTLS_CIPHERSUITE_WEAK },
\r
1804 #endif /* MBEDTLS_SHA1_C */
\r
1805 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
\r
1806 #endif /* MBEDTLS_CIPHER_MODE_CBC */
\r
1807 #endif /* MBEDTLS_DES_C */
\r
1808 #endif /* MBEDTLS_ENABLE_WEAK_CIPHERSUITES */
\r
1810 #if defined(MBEDTLS_ARIA_C)
\r
1812 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
\r
1814 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C))
\r
1815 { MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384,
\r
1816 "TLS-RSA-WITH-ARIA-256-GCM-SHA384",
\r
1817 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
\r
1818 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1819 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1822 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C))
\r
1823 { MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384,
\r
1824 "TLS-RSA-WITH-ARIA-256-CBC-SHA384",
\r
1825 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
\r
1826 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1827 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1830 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
\r
1831 { MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256,
\r
1832 "TLS-RSA-WITH-ARIA-128-GCM-SHA256",
\r
1833 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
\r
1834 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1835 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1838 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
\r
1839 { MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256,
\r
1840 "TLS-RSA-WITH-ARIA-128-CBC-SHA256",
\r
1841 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
\r
1842 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1843 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1847 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
\r
1849 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
\r
1851 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C))
\r
1852 { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
\r
1853 "TLS-RSA-PSK-WITH-ARIA-256-GCM-SHA384",
\r
1854 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1855 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1856 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1859 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C))
\r
1860 { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384,
\r
1861 "TLS-RSA-PSK-WITH-ARIA-256-CBC-SHA384",
\r
1862 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1863 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1864 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1867 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
\r
1868 { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
\r
1869 "TLS-RSA-PSK-WITH-ARIA-128-GCM-SHA256",
\r
1870 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1871 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1872 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1875 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
\r
1876 { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256,
\r
1877 "TLS-RSA-PSK-WITH-ARIA-128-CBC-SHA256",
\r
1878 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
\r
1879 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1880 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1884 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
\r
1886 #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
\r
1888 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C))
\r
1889 { MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384,
\r
1890 "TLS-PSK-WITH-ARIA-256-GCM-SHA384",
\r
1891 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384,MBEDTLS_KEY_EXCHANGE_PSK,
\r
1892 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1893 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1896 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C))
\r
1897 { MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384,
\r
1898 "TLS-PSK-WITH-ARIA-256-CBC-SHA384",
\r
1899 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1900 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1901 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1904 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
\r
1905 { MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256,
\r
1906 "TLS-PSK-WITH-ARIA-128-GCM-SHA256",
\r
1907 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1908 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1909 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1912 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
\r
1913 { MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256,
\r
1914 "TLS-PSK-WITH-ARIA-128-CBC-SHA256",
\r
1915 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
\r
1916 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1917 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1921 #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
\r
1923 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)
\r
1925 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C))
\r
1926 { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384,
\r
1927 "TLS-ECDH-RSA-WITH-ARIA-256-GCM-SHA384",
\r
1928 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
1929 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1930 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1933 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C))
\r
1934 { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384,
\r
1935 "TLS-ECDH-RSA-WITH-ARIA-256-CBC-SHA384",
\r
1936 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
1937 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1938 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1941 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
\r
1942 { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256,
\r
1943 "TLS-ECDH-RSA-WITH-ARIA-128-GCM-SHA256",
\r
1944 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
1945 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1946 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1949 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
\r
1950 { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256,
\r
1951 "TLS-ECDH-RSA-WITH-ARIA-128-CBC-SHA256",
\r
1952 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
\r
1953 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1954 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1958 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */
\r
1960 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
\r
1962 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C))
\r
1963 { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
\r
1964 "TLS-ECDHE-RSA-WITH-ARIA-256-GCM-SHA384",
\r
1965 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
1966 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1967 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1970 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C))
\r
1971 { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,
\r
1972 "TLS-ECDHE-RSA-WITH-ARIA-256-CBC-SHA384",
\r
1973 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
1974 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1975 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1978 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
\r
1979 { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
\r
1980 "TLS-ECDHE-RSA-WITH-ARIA-128-GCM-SHA256",
\r
1981 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
1982 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1983 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1986 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
\r
1987 { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,
\r
1988 "TLS-ECDHE-RSA-WITH-ARIA-128-CBC-SHA256",
\r
1989 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
\r
1990 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1991 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
1995 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
\r
1997 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
\r
1999 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C))
\r
2000 { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384,
\r
2001 "TLS-ECDHE-PSK-WITH-ARIA-256-CBC-SHA384",
\r
2002 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
\r
2003 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2004 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2007 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
\r
2008 { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256,
\r
2009 "TLS-ECDHE-PSK-WITH-ARIA-128-CBC-SHA256",
\r
2010 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
\r
2011 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2012 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2016 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
\r
2018 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
\r
2020 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C))
\r
2021 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
\r
2022 "TLS-ECDHE-ECDSA-WITH-ARIA-256-GCM-SHA384",
\r
2023 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
2024 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2025 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2028 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C))
\r
2029 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,
\r
2030 "TLS-ECDHE-ECDSA-WITH-ARIA-256-CBC-SHA384",
\r
2031 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
2032 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2033 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2036 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
\r
2037 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
\r
2038 "TLS-ECDHE-ECDSA-WITH-ARIA-128-GCM-SHA256",
\r
2039 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
2040 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2041 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2044 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
\r
2045 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,
\r
2046 "TLS-ECDHE-ECDSA-WITH-ARIA-128-CBC-SHA256",
\r
2047 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
\r
2048 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2049 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2053 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
\r
2055 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
\r
2057 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C))
\r
2058 { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384,
\r
2059 "TLS-ECDH-ECDSA-WITH-ARIA-256-GCM-SHA384",
\r
2060 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
2061 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2062 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2065 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C))
\r
2066 { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384,
\r
2067 "TLS-ECDH-ECDSA-WITH-ARIA-256-CBC-SHA384",
\r
2068 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
2069 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2070 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2073 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
\r
2074 { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256,
\r
2075 "TLS-ECDH-ECDSA-WITH-ARIA-128-GCM-SHA256",
\r
2076 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
2077 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2078 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2081 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
\r
2082 { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256,
\r
2083 "TLS-ECDH-ECDSA-WITH-ARIA-128-CBC-SHA256",
\r
2084 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
\r
2085 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2086 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2090 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
\r
2092 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
\r
2094 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C))
\r
2095 { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
\r
2096 "TLS-DHE-RSA-WITH-ARIA-256-GCM-SHA384",
\r
2097 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
2098 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2099 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2102 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C))
\r
2103 { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,
\r
2104 "TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384",
\r
2105 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
2106 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2107 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2110 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
\r
2111 { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
\r
2112 "TLS-DHE-RSA-WITH-ARIA-128-GCM-SHA256",
\r
2113 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
2114 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2115 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2118 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
\r
2119 { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,
\r
2120 "TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256",
\r
2121 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
\r
2122 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2123 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2127 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
\r
2129 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
\r
2131 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA512_C))
\r
2132 { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
\r
2133 "TLS-DHE-PSK-WITH-ARIA-256-GCM-SHA384",
\r
2134 MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
2135 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2136 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2139 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA512_C))
\r
2140 { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384,
\r
2141 "TLS-DHE-PSK-WITH-ARIA-256-CBC-SHA384",
\r
2142 MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
2143 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2144 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2147 #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
\r
2148 { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
\r
2149 "TLS-DHE-PSK-WITH-ARIA-128-GCM-SHA256",
\r
2150 MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
2151 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2152 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2155 #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
\r
2156 { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256,
\r
2157 "TLS-DHE-PSK-WITH-ARIA-128-CBC-SHA256",
\r
2158 MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
\r
2159 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2160 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
\r
2164 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
\r
2166 #endif /* MBEDTLS_ARIA_C */
\r
2170 MBEDTLS_CIPHER_NONE, MBEDTLS_MD_NONE, MBEDTLS_KEY_EXCHANGE_NONE,
\r
2174 #if defined(MBEDTLS_SSL_CIPHERSUITES)
\r
2175 const int *mbedtls_ssl_list_ciphersuites( void )
\r
2177 return( ciphersuite_preference );
\r
2180 #define MAX_CIPHERSUITES sizeof( ciphersuite_definitions ) / \
\r
2181 sizeof( ciphersuite_definitions[0] )
\r
2182 static int supported_ciphersuites[MAX_CIPHERSUITES];
\r
2183 static int supported_init = 0;
\r
2185 static int ciphersuite_is_removed( const mbedtls_ssl_ciphersuite_t *cs_info )
\r
2189 #if defined(MBEDTLS_REMOVE_ARC4_CIPHERSUITES)
\r
2190 if( cs_info->cipher == MBEDTLS_CIPHER_ARC4_128 )
\r
2192 #endif /* MBEDTLS_REMOVE_ARC4_CIPHERSUITES */
\r
2194 #if defined(MBEDTLS_REMOVE_3DES_CIPHERSUITES)
\r
2195 if( cs_info->cipher == MBEDTLS_CIPHER_DES_EDE3_ECB ||
\r
2196 cs_info->cipher == MBEDTLS_CIPHER_DES_EDE3_CBC )
\r
2200 #endif /* MBEDTLS_REMOVE_3DES_CIPHERSUITES */
\r
2205 const int *mbedtls_ssl_list_ciphersuites( void )
\r
2208 * On initial call filter out all ciphersuites not supported by current
\r
2209 * build based on presence in the ciphersuite_definitions.
\r
2211 if( supported_init == 0 )
\r
2216 for( p = ciphersuite_preference, q = supported_ciphersuites;
\r
2217 *p != 0 && q < supported_ciphersuites + MAX_CIPHERSUITES - 1;
\r
2220 const mbedtls_ssl_ciphersuite_t *cs_info;
\r
2221 if( ( cs_info = mbedtls_ssl_ciphersuite_from_id( *p ) ) != NULL &&
\r
2222 !ciphersuite_is_removed( cs_info ) )
\r
2229 supported_init = 1;
\r
2232 return( supported_ciphersuites );
\r
2234 #endif /* MBEDTLS_SSL_CIPHERSUITES */
\r
2236 const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_string(
\r
2237 const char *ciphersuite_name )
\r
2239 const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions;
\r
2241 if( NULL == ciphersuite_name )
\r
2244 while( cur->id != 0 )
\r
2246 if( 0 == strcmp( cur->name, ciphersuite_name ) )
\r
2255 const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_id( int ciphersuite )
\r
2257 const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions;
\r
2259 while( cur->id != 0 )
\r
2261 if( cur->id == ciphersuite )
\r
2270 const char *mbedtls_ssl_get_ciphersuite_name( const int ciphersuite_id )
\r
2272 const mbedtls_ssl_ciphersuite_t *cur;
\r
2274 cur = mbedtls_ssl_ciphersuite_from_id( ciphersuite_id );
\r
2277 return( "unknown" );
\r
2279 return( cur->name );
\r
2282 int mbedtls_ssl_get_ciphersuite_id( const char *ciphersuite_name )
\r
2284 const mbedtls_ssl_ciphersuite_t *cur;
\r
2286 cur = mbedtls_ssl_ciphersuite_from_string( ciphersuite_name );
\r
2291 return( cur->id );
\r
2294 #if defined(MBEDTLS_PK_C)
\r
2295 mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_pk_alg( const mbedtls_ssl_ciphersuite_t *info )
\r
2297 switch( info->key_exchange )
\r
2299 case MBEDTLS_KEY_EXCHANGE_RSA:
\r
2300 case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
\r
2301 case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
\r
2302 case MBEDTLS_KEY_EXCHANGE_RSA_PSK:
\r
2303 return( MBEDTLS_PK_RSA );
\r
2305 case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
\r
2306 return( MBEDTLS_PK_ECDSA );
\r
2308 case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
\r
2309 case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
\r
2310 return( MBEDTLS_PK_ECKEY );
\r
2313 return( MBEDTLS_PK_NONE );
\r
2317 mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_alg( const mbedtls_ssl_ciphersuite_t *info )
\r
2319 switch( info->key_exchange )
\r
2321 case MBEDTLS_KEY_EXCHANGE_RSA:
\r
2322 case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
\r
2323 case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
\r
2324 return( MBEDTLS_PK_RSA );
\r
2326 case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
\r
2327 return( MBEDTLS_PK_ECDSA );
\r
2330 return( MBEDTLS_PK_NONE );
\r
2334 #endif /* MBEDTLS_PK_C */
\r
2336 #if defined(MBEDTLS_ECDH_C) || defined(MBEDTLS_ECDSA_C) || \
\r
2337 defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
\r
2338 int mbedtls_ssl_ciphersuite_uses_ec( const mbedtls_ssl_ciphersuite_t *info )
\r
2340 switch( info->key_exchange )
\r
2342 case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
\r
2343 case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
\r
2344 case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK:
\r
2345 case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
\r
2346 case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
\r
2347 case MBEDTLS_KEY_EXCHANGE_ECJPAKE:
\r
2354 #endif /* MBEDTLS_ECDH_C || MBEDTLS_ECDSA_C || MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED*/
\r
2356 #if defined(MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED)
\r
2357 int mbedtls_ssl_ciphersuite_uses_psk( const mbedtls_ssl_ciphersuite_t *info )
\r
2359 switch( info->key_exchange )
\r
2361 case MBEDTLS_KEY_EXCHANGE_PSK:
\r
2362 case MBEDTLS_KEY_EXCHANGE_RSA_PSK:
\r
2363 case MBEDTLS_KEY_EXCHANGE_DHE_PSK:
\r
2364 case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK:
\r
2371 #endif /* MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED */
\r
2373 #endif /* MBEDTLS_SSL_TLS_C */
\r