tls_cipher_suites.c
Go to the documentation of this file.
1 /**
2  * @file tls_cipher_suites.c
3  * @brief TLS cipher suites
4  *
5  * @section License
6  *
7  * SPDX-License-Identifier: GPL-2.0-or-later
8  *
9  * Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.
10  *
11  * This file is part of CycloneSSL Open.
12  *
13  * This program is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU General Public License
15  * as published by the Free Software Foundation; either version 2
16  * of the License, or (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the Free Software Foundation,
25  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26  *
27  * @author Oryx Embedded SARL (www.oryx-embedded.com)
28  * @version 2.4.0
29  **/
30 
31 //Switch to the appropriate trace level
32 #define TRACE_LEVEL TLS_TRACE_LEVEL
33 
34 //Dependencies
35 #include "tls.h"
36 #include "tls_cipher_suites.h"
38 #include "hash/hash_algorithms.h"
39 #include "debug.h"
40 
41 //Check TLS library configuration
42 #if (TLS_SUPPORT == ENABLED)
43 
44 //List of supported cipher suites
46 {
47 //TLS_CHACHA20_POLY1305_SHA256 cipher suite
48 #if (TLS_MAX_VERSION >= TLS_VERSION_1_3 && TLS_MIN_VERSION <= TLS_VERSION_1_3 && TLS_CHACHA20_POLY1305_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
50 #endif
51 
52 //TLS_AES_128_GCM_SHA256 cipher suite
53 #if (TLS_MAX_VERSION >= TLS_VERSION_1_3 && TLS_MIN_VERSION <= TLS_VERSION_1_3 && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
55 #endif
56 
57 //TLS_AES_256_GCM_SHA384 cipher suite
58 #if (TLS_MAX_VERSION >= TLS_VERSION_1_3 && TLS_MIN_VERSION <= TLS_VERSION_1_3 && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
60 #endif
61 
62 //TLS_AES_128_CCM_SHA256 cipher suite
63 #if (TLS_MAX_VERSION >= TLS_VERSION_1_3 && TLS_MIN_VERSION <= TLS_VERSION_1_3 && TLS_CCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
65 #endif
66 
67 //TLS_AES_128_CCM_8_SHA256 cipher suite
68 #if (TLS_MAX_VERSION >= TLS_VERSION_1_3 && TLS_MIN_VERSION <= TLS_VERSION_1_3 && TLS_CCM_8_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
70 #endif
71 
72 //TLS_SM4_GCM_SM3 cipher suite
73 #if (TLS_MAX_VERSION >= TLS_VERSION_1_3 && TLS_MIN_VERSION <= TLS_VERSION_1_3 && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_SM4_SUPPORT == ENABLED && TLS_SM3_SUPPORT == ENABLED)
75 #endif
76 
77 //TLS_SM4_CCM_SM3 cipher suite
78 #if (TLS_MAX_VERSION >= TLS_VERSION_1_3 && TLS_MIN_VERSION <= TLS_VERSION_1_3 && TLS_CCM_CIPHER_SUPPORT == ENABLED && TLS_SM4_SUPPORT == ENABLED && TLS_SM3_SUPPORT == ENABLED)
80 #endif
81 
82 //TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 cipher suite
83 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CHACHA20_POLY1305_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
85 #endif
86 
87 //TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 cipher suite
88 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_CHACHA20_POLY1305_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
90 #endif
91 
92 //TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 cipher suite
93 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
95 #endif
96 
97 //TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 cipher suite
98 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
100 #endif
101 
102 //TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 cipher suite
103 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
105 #endif
106 
107 //TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 cipher suite
108 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
110 #endif
111 
112 //TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 cipher suite
113 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
115 #endif
116 
117 //TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 cipher suite
118 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
120 #endif
121 
122 //TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 cipher suite
123 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
125 #endif
126 
127 //TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 cipher suite
128 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
130 #endif
131 
132 //TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 cipher suite
133 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
135 #endif
136 
137 //TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 cipher suite
138 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
140 #endif
141 
142 //TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 cipher suite
143 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
145 #endif
146 
147 //TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 cipher suite
148 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
150 #endif
151 
152 //TLS_ECDHE_ECDSA_WITH_AES_128_CCM cipher suite
153 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
155 #endif
156 
157 //TLS_ECDHE_ECDSA_WITH_AES_256_CCM cipher suite
158 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
160 #endif
161 
162 //TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 cipher suite
163 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CCM_8_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
165 #endif
166 
167 //TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 cipher suite
168 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CCM_8_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
170 #endif
171 
172 //TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 cipher suite
173 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
175 #endif
176 
177 //TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 cipher suite
178 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
180 #endif
181 
182 //TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 cipher suite
183 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
185 #endif
186 
187 //TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 cipher suite
188 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
190 #endif
191 
192 //TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 cipher suite
193 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
195 #endif
196 
197 //TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 cipher suite
198 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
200 #endif
201 
202 //TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 cipher suite
203 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
205 #endif
206 
207 //TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 cipher suite
208 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
210 #endif
211 
212 //TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256 cipher suite
213 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
215 #endif
216 
217 //TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256 cipher suite
218 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
220 #endif
221 
222 //TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384 cipher suite
223 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
225 #endif
226 
227 //TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384 cipher suite
228 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
230 #endif
231 
232 //TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA cipher suite
233 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
235 #endif
236 
237 //TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA cipher suite
238 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
240 #endif
241 
242 //TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA cipher suite
243 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
245 #endif
246 
247 //TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA cipher suite
248 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
250 #endif
251 
252 //TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA cipher suite
253 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_3DES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
255 #endif
256 
257 //TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA cipher suite
258 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_3DES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
260 #endif
261 
262 //TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 cipher suite
263 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CHACHA20_POLY1305_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
265 #endif
266 
267 //TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 cipher suite
268 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
270 #endif
271 
272 //TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 cipher suite
273 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
275 #endif
276 
277 //TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 cipher suite
278 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
280 #endif
281 
282 //TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 cipher suite
283 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
285 #endif
286 
287 //TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 cipher suite
288 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
290 #endif
291 
292 //TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 cipher suite
293 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
295 #endif
296 
297 //TLS_DHE_RSA_WITH_AES_128_CCM cipher suite
298 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
300 #endif
301 
302 //TLS_DHE_RSA_WITH_AES_256_CCM cipher suite
303 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
305 #endif
306 
307 //TLS_DHE_RSA_WITH_AES_128_CCM_8 cipher suite
308 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CCM_8_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
310 #endif
311 
312 //TLS_DHE_RSA_WITH_AES_256_CCM_8 cipher suite
313 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CCM_8_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
315 #endif
316 
317 //TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 cipher suite
318 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
320 #endif
321 
322 //TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 cipher suite
323 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
325 #endif
326 
327 //TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 cipher suite
328 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
330 #endif
331 
332 //TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 cipher suite
333 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
335 #endif
336 
337 //TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256 cipher suite
338 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
340 #endif
341 
342 //TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384 cipher suite
343 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
345 #endif
346 
347 //TLS_DHE_RSA_WITH_AES_128_CBC_SHA cipher suite
348 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
350 #endif
351 
352 //TLS_DHE_RSA_WITH_AES_256_CBC_SHA cipher suite
353 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
355 #endif
356 
357 //TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA cipher suite
358 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
360 #endif
361 
362 //TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA cipher suite
363 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
365 #endif
366 
367 //TLS_DHE_RSA_WITH_SEED_CBC_SHA cipher suite
368 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_SEED_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
370 #endif
371 
372 //TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA cipher suite
373 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_3DES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
375 #endif
376 
377 //TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 cipher suite
378 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
380 #endif
381 
382 //TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 cipher suite
383 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
385 #endif
386 
387 //TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256 cipher suite
388 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
390 #endif
391 
392 //TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384 cipher suite
393 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
395 #endif
396 
397 //TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256 cipher suite
398 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
400 #endif
401 
402 //TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384 cipher suite
403 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
405 #endif
406 
407 //TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 cipher suite
408 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
410 #endif
411 
412 //TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 cipher suite
413 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
415 #endif
416 
417 //TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 cipher suite
418 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
420 #endif
421 
422 //TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 cipher suite
423 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
425 #endif
426 
427 //TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256 cipher suite
428 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
430 #endif
431 
432 //TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384 cipher suite
433 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
435 #endif
436 
437 //TLS_DHE_DSS_WITH_AES_128_CBC_SHA cipher suite
438 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
440 #endif
441 
442 //TLS_DHE_DSS_WITH_AES_256_CBC_SHA cipher suite
443 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
445 #endif
446 
447 //TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA cipher suite
448 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
450 #endif
451 
452 //TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA cipher suite
453 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
455 #endif
456 
457 //TLS_DHE_DSS_WITH_SEED_CBC_SHA cipher suite
458 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_SEED_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
460 #endif
461 
462 //TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA cipher suite
463 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_3DES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
465 #endif
466 
467 //TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 cipher suite
468 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_CHACHA20_POLY1305_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
470 #endif
471 
472 //TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 cipher suite
473 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
475 #endif
476 
477 //TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 cipher suite
478 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
480 #endif
481 
482 //TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 cipher suite
483 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_CCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
485 #endif
486 
487 //TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256 cipher suite
488 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_CCM_8_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
490 #endif
491 
492 //TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 cipher suite
493 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
495 #endif
496 
497 //TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 cipher suite
498 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
500 #endif
501 
502 //TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 cipher suite
503 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
505 #endif
506 
507 //TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 cipher suite
508 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
510 #endif
511 
512 //TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256 cipher suite
513 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
515 #endif
516 
517 //TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384 cipher suite
518 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
520 #endif
521 
522 //TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA cipher suite
523 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
525 #endif
526 
527 //TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA cipher suite
528 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
530 #endif
531 
532 //TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA cipher suite
533 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_3DES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
535 #endif
536 
537 //TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 cipher suite
538 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CHACHA20_POLY1305_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
540 #endif
541 
542 //TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 cipher suite
543 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
545 #endif
546 
547 //TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 cipher suite
548 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
550 #endif
551 
552 //TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 cipher suite
553 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
555 #endif
556 
557 //TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 cipher suite
558 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
560 #endif
561 
562 //TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256 cipher suite
563 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
565 #endif
566 
567 //TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384 cipher suite
568 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
570 #endif
571 
572 //TLS_DHE_PSK_WITH_AES_128_CCM cipher suite
573 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
575 #endif
576 
577 //TLS_DHE_PSK_WITH_AES_256_CCM cipher suite
578 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
580 #endif
581 
582 //TLS_DHE_PSK_WITH_AES_128_CCM_8 cipher suite
583 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CCM_8_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
585 #endif
586 
587 //TLS_DHE_PSK_WITH_AES_256_CCM_8 cipher suite
588 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CCM_8_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
590 #endif
591 
592 //TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 cipher suite
593 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
595 #endif
596 
597 //TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 cipher suite
598 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
600 #endif
601 
602 //TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 cipher suite
603 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
605 #endif
606 
607 //TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 cipher suite
608 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
610 #endif
611 
612 //TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256 cipher suite
613 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
615 #endif
616 
617 //TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384 cipher suite
618 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
620 #endif
621 
622 //TLS_DHE_PSK_WITH_AES_128_CBC_SHA cipher suite
623 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
625 #endif
626 
627 //TLS_DHE_PSK_WITH_AES_256_CBC_SHA cipher suite
628 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
630 #endif
631 
632 //TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA cipher suite
633 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_3DES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
635 #endif
636 
637 //TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256 cipher suite
638 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_CHACHA20_POLY1305_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
640 #endif
641 
642 //TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 cipher suite
643 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
645 #endif
646 
647 //TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 cipher suite
648 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
650 #endif
651 
652 //TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 cipher suite
653 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
655 #endif
656 
657 //TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 cipher suite
658 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
660 #endif
661 
662 //TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256 cipher suite
663 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
665 #endif
666 
667 //TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384 cipher suite
668 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
670 #endif
671 
672 //TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 cipher suite
673 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
675 #endif
676 
677 //TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 cipher suite
678 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
680 #endif
681 
682 //TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 cipher suite
683 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
685 #endif
686 
687 //TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 cipher suite
688 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
690 #endif
691 
692 //TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256 cipher suite
693 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
695 #endif
696 
697 //TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384 cipher suite
698 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
700 #endif
701 
702 //TLS_RSA_PSK_WITH_AES_128_CBC_SHA cipher suite
703 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
705 #endif
706 
707 //TLS_RSA_PSK_WITH_AES_256_CBC_SHA cipher suite
708 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
710 #endif
711 
712 //TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA cipher suite
713 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_3DES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
715 #endif
716 
717 //TLS_RSA_WITH_AES_128_GCM_SHA256 cipher suite
718 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
720 #endif
721 
722 //TLS_RSA_WITH_AES_256_GCM_SHA384 cipher suite
723 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
725 #endif
726 
727 //TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 cipher suite
728 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
730 #endif
731 
732 //TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 cipher suite
733 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
735 #endif
736 
737 //TLS_RSA_WITH_ARIA_128_GCM_SHA256 cipher suite
738 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
740 #endif
741 
742 //TLS_RSA_WITH_ARIA_256_GCM_SHA384 cipher suite
743 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
745 #endif
746 
747 //TLS_RSA_WITH_AES_128_CCM cipher suite
748 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
750 #endif
751 
752 //TLS_RSA_WITH_AES_256_CCM cipher suite
753 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
755 #endif
756 
757 //TLS_RSA_WITH_AES_128_CCM_8 cipher suite
758 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CCM_8_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
760 #endif
761 
762 //TLS_RSA_WITH_AES_256_CCM_8 cipher suite
763 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CCM_8_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
765 #endif
766 
767 //TLS_RSA_WITH_AES_128_CBC_SHA256 cipher suite
768 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
770 #endif
771 
772 //TLS_RSA_WITH_AES_256_CBC_SHA256 cipher suite
773 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
775 #endif
776 
777 //TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 cipher suite
778 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
780 #endif
781 
782 //TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 cipher suite
783 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
785 #endif
786 
787 //TLS_RSA_WITH_ARIA_128_CBC_SHA256 cipher suite
788 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
790 #endif
791 
792 //TLS_RSA_WITH_ARIA_256_CBC_SHA384 cipher suite
793 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
795 #endif
796 
797 //TLS_RSA_WITH_AES_128_CBC_SHA cipher suite
798 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
800 #endif
801 
802 //TLS_RSA_WITH_AES_256_CBC_SHA cipher suite
803 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
805 #endif
806 
807 //TLS_RSA_WITH_CAMELLIA_128_CBC_SHA cipher suite
808 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
810 #endif
811 
812 //TLS_RSA_WITH_CAMELLIA_256_CBC_SHA cipher suite
813 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
815 #endif
816 
817 //TLS_RSA_WITH_SEED_CBC_SHA cipher suite
818 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_SEED_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
820 #endif
821 
822 //TLS_RSA_WITH_3DES_EDE_CBC_SHA cipher suite
823 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_3DES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
825 #endif
826 
827 //TLS_PSK_WITH_CHACHA20_POLY1305_SHA256 cipher suite
828 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CHACHA20_POLY1305_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
830 #endif
831 
832 //TLS_PSK_WITH_AES_128_GCM_SHA256 cipher suite
833 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
835 #endif
836 
837 //TLS_PSK_WITH_AES_256_GCM_SHA384 cipher suite
838 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
840 #endif
841 
842 //TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 cipher suite
843 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
845 #endif
846 
847 //TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 cipher suite
848 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
850 #endif
851 
852 //TLS_PSK_WITH_ARIA_128_GCM_SHA256 cipher suite
853 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
855 #endif
856 
857 //TLS_PSK_WITH_ARIA_256_GCM_SHA384 cipher suite
858 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
860 #endif
861 
862 //TLS_PSK_WITH_AES_128_CCM cipher suite
863 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
865 #endif
866 
867 //TLS_PSK_WITH_AES_256_CCM cipher suite
868 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
870 #endif
871 
872 //TLS_PSK_WITH_AES_128_CCM_8 cipher suite
873 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CCM_8_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
875 #endif
876 
877 //TLS_PSK_WITH_AES_256_CCM_8 cipher suite
878 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CCM_8_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
880 #endif
881 
882 //TLS_PSK_WITH_AES_128_CBC_SHA256 cipher suite
883 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
885 #endif
886 
887 //TLS_PSK_WITH_AES_256_CBC_SHA384 cipher suite
888 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
890 #endif
891 
892 //TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 cipher suite
893 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
895 #endif
896 
897 //TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 cipher suite
898 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
900 #endif
901 
902 //TLS_PSK_WITH_ARIA_128_CBC_SHA256 cipher suite
903 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
905 #endif
906 
907 //TLS_PSK_WITH_ARIA_256_CBC_SHA384 cipher suite
908 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
910 #endif
911 
912 //TLS_PSK_WITH_AES_128_CBC_SHA cipher suite
913 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
915 #endif
916 
917 //TLS_PSK_WITH_AES_256_CBC_SHA cipher suite
918 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
920 #endif
921 
922 //TLS_PSK_WITH_3DES_EDE_CBC_SHA cipher suite
923 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_3DES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
925 #endif
926 
927 //TLS_ECDHE_ECDSA_WITH_RC4_128_SHA cipher suite
928 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_STREAM_CIPHER_SUPPORT == ENABLED && TLS_RC4_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
930 #endif
931 
932 //TLS_ECDHE_RSA_WITH_RC4_128_SHA cipher suite
933 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_STREAM_CIPHER_SUPPORT == ENABLED && TLS_RC4_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
935 #endif
936 
937 //TLS_ECDHE_PSK_WITH_RC4_128_SHA cipher suite
938 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_STREAM_CIPHER_SUPPORT == ENABLED && TLS_RC4_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
940 #endif
941 
942 //TLS_DHE_PSK_WITH_RC4_128_SHA cipher suite
943 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_STREAM_CIPHER_SUPPORT == ENABLED && TLS_RC4_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
945 #endif
946 
947 //TLS_RSA_PSK_WITH_RC4_128_SHA cipher suite
948 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_STREAM_CIPHER_SUPPORT == ENABLED && TLS_RC4_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
950 #endif
951 
952 //TLS_RSA_WITH_RC4_128_SHA cipher suite
953 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_STREAM_CIPHER_SUPPORT == ENABLED && TLS_RC4_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
955 #endif
956 
957 //TLS_RSA_WITH_RC4_128_MD5 cipher suite
958 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_STREAM_CIPHER_SUPPORT == ENABLED && TLS_RC4_SUPPORT == ENABLED && TLS_MD5_SUPPORT == ENABLED)
960 #endif
961 
962 //TLS_PSK_WITH_RC4_128_SHA cipher suite
963 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_STREAM_CIPHER_SUPPORT == ENABLED && TLS_RC4_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
965 #endif
966 
967 //TLS_DHE_RSA_WITH_DES_CBC_SHA cipher suite
968 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_DES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
970 #endif
971 
972 //TLS_DHE_DSS_WITH_DES_CBC_SHA cipher suite
973 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_DES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
975 #endif
976 
977 //TLS_RSA_WITH_DES_CBC_SHA cipher suite
978 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_DES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
980 #endif
981 
982 //TLS_RSA_WITH_IDEA_CBC_SHA cipher suite
983 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_IDEA_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
985 #endif
986 
987 //TLS_ECDH_anon_WITH_AES_128_CBC_SHA cipher suite
988 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
990 #endif
991 
992 //TLS_ECDH_anon_WITH_AES_256_CBC_SHA cipher suite
993 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
995 #endif
996 
997 //TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA cipher suite
998 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_3DES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1000 #endif
1001 
1002 //TLS_ECDH_anon_WITH_RC4_128_SHA cipher suite
1003 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDH_ANON_KE_SUPPORT == ENABLED && TLS_STREAM_CIPHER_SUPPORT == ENABLED && TLS_RC4_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1005 #endif
1006 
1007 //TLS_DH_anon_WITH_AES_128_GCM_SHA256 cipher suite
1008 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
1010 #endif
1011 
1012 //TLS_DH_anon_WITH_AES_256_GCM_SHA384 cipher suite
1013 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
1015 #endif
1016 
1017 //TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256 cipher suite
1018 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
1020 #endif
1021 
1022 //TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384 cipher suite
1023 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
1025 #endif
1026 
1027 //TLS_DH_anon_WITH_ARIA_128_GCM_SHA256 cipher suite
1028 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
1030 #endif
1031 
1032 //TLS_DH_anon_WITH_ARIA_256_GCM_SHA384 cipher suite
1033 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
1035 #endif
1036 
1037 //TLS_DH_anon_WITH_AES_128_CBC_SHA256 cipher suite
1038 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
1040 #endif
1041 
1042 //TLS_DH_anon_WITH_AES_256_CBC_SHA256 cipher suite
1043 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
1045 #endif
1046 
1047 //TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 cipher suite
1048 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
1050 #endif
1051 
1052 //TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 cipher suite
1053 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
1055 #endif
1056 
1057 //TLS_DH_anon_WITH_ARIA_128_CBC_SHA256 cipher suite
1058 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_128_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
1060 #endif
1061 
1062 //TLS_DH_anon_WITH_ARIA_256_CBC_SHA384 cipher suite
1063 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_ARIA_256_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
1065 #endif
1066 
1067 //TLS_DH_anon_WITH_AES_128_CBC_SHA cipher suite
1068 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_128_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1070 #endif
1071 
1072 //TLS_DH_anon_WITH_AES_256_CBC_SHA cipher suite
1073 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_256_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1075 #endif
1076 
1077 //TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA cipher suite
1078 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_128_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1080 #endif
1081 
1082 //TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA cipher suite
1083 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_256_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1085 #endif
1086 
1087 //TLS_DH_anon_WITH_SEED_CBC_SHA cipher suite
1088 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_SEED_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1090 #endif
1091 
1092 //TLS_DH_anon_WITH_3DES_EDE_CBC_SHA cipher suite
1093 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_3DES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1095 #endif
1096 
1097 //TLS_DH_anon_WITH_DES_CBC_SHA cipher suite
1098 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_DES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1100 #endif
1101 
1102 //TLS_DH_anon_WITH_RC4_128_MD5 cipher suite
1103 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_STREAM_CIPHER_SUPPORT == ENABLED && TLS_RC4_SUPPORT == ENABLED && TLS_MD5_SUPPORT == ENABLED)
1105 #endif
1106 
1107 //TLS_SHA256_SHA256 cipher suite
1108 #if (TLS_MAX_VERSION >= TLS_VERSION_1_3 && TLS_MIN_VERSION <= TLS_VERSION_1_3 && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
1110 #endif
1111 
1112 //TLS_SHA384_SHA384 cipher suite
1113 #if (TLS_MAX_VERSION >= TLS_VERSION_1_3 && TLS_MIN_VERSION <= TLS_VERSION_1_3 && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
1115 #endif
1116 
1117 //TLS_ECDHE_ECDSA_WITH_NULL_SHA cipher suite
1118 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1120 #endif
1121 
1122 //TLS_ECDHE_RSA_WITH_NULL_SHA cipher suite
1123 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1125 #endif
1126 
1127 //TLS_ECDHE_PSK_WITH_NULL_SHA256 cipher suite
1128 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
1130 #endif
1131 
1132 //TLS_ECDHE_PSK_WITH_NULL_SHA384 cipher suite
1133 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
1135 #endif
1136 
1137 //TLS_ECDHE_PSK_WITH_NULL_SHA cipher suite
1138 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1140 #endif
1141 
1142 //TLS_DHE_PSK_WITH_NULL_SHA256 cipher suite
1143 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
1145 #endif
1146 
1147 //TLS_DHE_PSK_WITH_NULL_SHA384 cipher suite
1148 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
1150 #endif
1151 
1152 //TLS_DHE_PSK_WITH_NULL_SHA cipher suite
1153 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1155 #endif
1156 
1157 //TLS_RSA_PSK_WITH_NULL_SHA256 cipher suite
1158 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
1160 #endif
1161 
1162 //TLS_RSA_PSK_WITH_NULL_SHA384 cipher suite
1163 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
1165 #endif
1166 
1167 //TLS_RSA_PSK_WITH_NULL_SHA cipher suite
1168 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1170 #endif
1171 
1172 //TLS_RSA_WITH_NULL_SHA256 cipher suite
1173 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
1175 #endif
1176 
1177 //TLS_RSA_WITH_NULL_SHA cipher suite
1178 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1180 #endif
1181 
1182 //TLS_RSA_WITH_NULL_MD5 cipher suite
1183 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_MD5_SUPPORT == ENABLED)
1185 #endif
1186 
1187 //TLS_PSK_WITH_NULL_SHA256 cipher suite
1188 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
1190 #endif
1191 
1192 //TLS_PSK_WITH_NULL_SHA384 cipher suite
1193 #if (TLS_MAX_VERSION >= TLS_VERSION_1_2 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
1195 #endif
1196 
1197 //TLS_PSK_WITH_NULL_SHA cipher suite
1198 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1200 #endif
1201 
1202 //TLS_ECDH_anon_WITH_NULL_SHA cipher suite
1203 #if (TLS_MAX_VERSION >= TLS_VERSION_1_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDH_ANON_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1205 #endif
1206 };
1207 
1208 
1209 /**
1210  * @brief Determine the number of cipher suites supported
1211  * @return Number of supported cipher suites
1212  **/
1213 
1215 {
1216  //Return the number of supported cipher suites
1218 }
1219 
1220 
1221 /**
1222  * @brief Convert cipher suite identifier to string representation
1223  * @param[in] identifier Cipher suite identifier
1224  * @return Cipher suite name
1225  **/
1226 
1228 {
1229  uint_t i;
1230 
1231  //Default name for unknown cipher suites
1232  static const char_t defaultName[] = "Unknown";
1233 
1234  //Parse the list of supported cipher suites
1235  for(i = 0; i < arraysize(tlsSupportedCipherSuites); i++)
1236  {
1237  //The current cipher suite matches the specified identifier?
1239  return tlsSupportedCipherSuites[i].name;
1240  }
1241 
1242  //Unknown cipher suite
1243  return defaultName;
1244 }
1245 
1246 
1247 /**
1248  * @brief Check whether a cipher suite can be used with a given protocol
1249  * version
1250  * @param[in] cipherSuite Cipher suite
1251  * @param[in] minVersion Minimum TLS protocol version
1252  * @param[in] maxVersion Maximum TLS protocol version
1253  * @param[in] transportProtocol Transport protocol (TLS or DTLS)
1254  * @return TRUE if the cipher suite is acceptable, else FALSE
1255  **/
1256 
1258  uint16_t minVersion, uint16_t maxVersion,
1259  TlsTransportProtocol transportProtocol)
1260 {
1261  bool_t acceptable;
1262 
1263  //Initialize flag
1264  acceptable = TRUE;
1265 
1266  //TLS 1.2 cipher suites must not be negotiated in older versions of TLS
1267  if(maxVersion < TLS_VERSION_1_2)
1268  {
1269  //TLS 1.2 cipher suite?
1270  if(cipherSuite->prfHashAlgo != NULL)
1271  {
1272  acceptable = FALSE;
1273  }
1274  }
1275 
1276  //Although TLS 1.3 uses the same cipher suite space as previous versions
1277  //of TLS, TLS 1.3 cipher suites are defined differently, only specifying
1278  //the symmetric ciphers, and cannot be used for TLS 1.2
1279  if(maxVersion < TLS_VERSION_1_3)
1280  {
1281  //TLS 1.3 cipher suite?
1282  if(cipherSuite->keyExchMethod == TLS_KEY_EXCH_NONE)
1283  {
1284  acceptable = FALSE;
1285  }
1286  }
1287 
1288  //Similarly, TLS 1.2 and lower cipher suites cannot be used with TLS 1.3
1289  if(minVersion > TLS_VERSION_1_2)
1290  {
1291  //TLS 1.2 and lower cipher suite?
1292  if(cipherSuite->keyExchMethod != TLS_KEY_EXCH_NONE)
1293  {
1294  acceptable = FALSE;
1295  }
1296  }
1297 
1298  //The only stream cipher described in TLS 1.2 is RC4, which cannot be
1299  //randomly accessed. RC4 must not be used with DTLS
1300  if(transportProtocol == TLS_TRANSPORT_PROTOCOL_DATAGRAM)
1301  {
1302  //RC4 stream cipher?
1303  if(cipherSuite->cipherMode == CIPHER_MODE_STREAM)
1304  {
1305  acceptable = FALSE;
1306  }
1307  }
1308 
1309  //Return TRUE is the cipher suite can be used with the specified protocol
1310  //version
1311  return acceptable;
1312 }
1313 
1314 
1315 /**
1316  * @brief Retrieve the cipher suite type for a given identifier
1317  * @param[in] identifier Cipher suite identifier
1318  * @return Cipher suite type
1319  **/
1320 
1322 {
1323  uint_t i;
1324  uint_t type;
1325 
1326  //ShangMi cipher suite?
1328  {
1329  //These cipher suites are only applicable to TLS 1.3
1331  }
1332  else
1333  {
1334  //Initialize type
1336 
1337  //Loop through the list of supported cipher suites
1338  for(i = 0; i < arraysize(tlsSupportedCipherSuites); i++)
1339  {
1340  //Compare cipher suite identifier against the specified value
1342  {
1343  //Check key exchange mechanism
1344  switch(tlsSupportedCipherSuites[i].keyExchMethod)
1345  {
1346  case TLS_KEY_EXCH_PSK:
1348  break;
1349 
1350  case TLS_KEY_EXCH_RSA:
1352  break;
1353 
1354  case TLS_KEY_EXCH_RSA_PSK:
1356  break;
1357 
1358  case TLS_KEY_EXCH_DH_ANON:
1360  break;
1361 
1362  case TLS_KEY_EXCH_DHE_RSA:
1364  break;
1365 
1366  case TLS_KEY_EXCH_DHE_DSS:
1368  break;
1369 
1370  case TLS_KEY_EXCH_DHE_PSK:
1372  break;
1373 
1376  break;
1377 
1380  break;
1381 
1384  break;
1385 
1388  break;
1389 
1390  case TLS_KEY_EXCH_NONE:
1392  break;
1393 
1394  default:
1395  //Just for sanity
1396  break;
1397  }
1398 
1399  //We are done
1400  break;
1401  }
1402  }
1403  }
1404 
1405  //Return cipher suite type
1406  return type;
1407 }
1408 
1409 #endif
#define AES_CIPHER_ALGO
Definition: aes.h:45
#define ARIA_CIPHER_ALGO
Definition: aria.h:40
#define CAMELLIA_CIPHER_ALGO
Definition: camellia.h:40
Collection of AEAD algorithms.
uint8_t type
Definition: coap_common.h:176
unsigned int uint_t
Definition: compiler_port.h:50
char char_t
Definition: compiler_port.h:48
int bool_t
Definition: compiler_port.h:53
@ CIPHER_MODE_CHACHA20_POLY1305
Definition: crypto.h:951
@ CIPHER_MODE_CCM
Definition: crypto.h:949
@ CIPHER_MODE_CBC
Definition: crypto.h:945
@ CIPHER_MODE_STREAM
Definition: crypto.h:943
@ CIPHER_MODE_GCM
Definition: crypto.h:950
@ CIPHER_MODE_NULL
Definition: crypto.h:942
Debugging facilities.
#define DES3_CIPHER_ALGO
Definition: des3.h:46
#define DES_CIPHER_ALGO
Definition: des.h:45
uint8_t identifier[]
Collection of hash algorithms.
#define IDEA_CIPHER_ALGO
Definition: idea.h:40
#define MD5_HASH_ALGO
Definition: md5.h:49
#define arraysize(a)
Definition: os_port.h:71
#define TRUE
Definition: os_port.h:50
#define FALSE
Definition: os_port.h:46
#define RC4_CIPHER_ALGO
Definition: rc4.h:38
#define SEED_CIPHER_ALGO
Definition: seed.h:40
#define SHA1_HASH_ALGO
Definition: sha1.h:49
#define SHA256_HASH_ALGO
Definition: sha256.h:49
#define SHA384_HASH_ALGO
Definition: sha384.h:45
#define SM3_HASH_ALGO
Definition: sm3.h:49
#define SM4_CIPHER_ALGO
Definition: sm4.h:45
Structure describing a cipher suite.
Definition: tls.h:1999
const char_t * name
Definition: tls.h:2001
TLS (Transport Layer Security)
@ TLS_KEY_EXCH_DHE_RSA
Definition: tls.h:1127
@ TLS_KEY_EXCH_RSA
Definition: tls.h:1125
@ TLS_KEY_EXCH_ECDHE_ECDSA
Definition: tls.h:1134
@ TLS_KEY_EXCH_DHE_PSK
Definition: tls.h:1138
@ TLS_KEY_EXCH_DH_ANON
Definition: tls.h:1130
@ TLS_KEY_EXCH_RSA_PSK
Definition: tls.h:1137
@ TLS_KEY_EXCH_ECDH_ANON
Definition: tls.h:1135
@ TLS_KEY_EXCH_DHE_DSS
Definition: tls.h:1129
@ TLS_KEY_EXCH_NONE
Definition: tls.h:1124
@ TLS_KEY_EXCH_ECDHE_RSA
Definition: tls.h:1132
@ TLS_KEY_EXCH_ECDHE_PSK
Definition: tls.h:1139
@ TLS_KEY_EXCH_PSK
Definition: tls.h:1136
TlsTransportProtocol
TLS transport protocols.
Definition: tls.h:940
@ TLS_TRANSPORT_PROTOCOL_DATAGRAM
Definition: tls.h:942
#define TLS_VERSION_1_3
Definition: tls.h:97
uint16_t cipherSuite
Cipher suite identifier.
Definition: tls.h:1866
#define TLS_VERSION_1_2
Definition: tls.h:96
const char_t * tlsGetCipherSuiteName(uint16_t identifier)
Convert cipher suite identifier to string representation.
uint_t tlsGetNumSupportedCipherSuites(void)
Determine the number of cipher suites supported.
uint_t tlsGetCipherSuiteType(uint16_t identifier)
Retrieve the cipher suite type for a given identifier.
bool_t tlsIsCipherSuiteAcceptable(const TlsCipherSuiteInfo *cipherSuite, uint16_t minVersion, uint16_t maxVersion, TlsTransportProtocol transportProtocol)
Check whether a cipher suite can be used with a given protocol version.
const TlsCipherSuiteInfo tlsSupportedCipherSuites[]
TLS cipher suites.
@ TLS_CIPHER_SUITE_TYPE_RSA
@ TLS_CIPHER_SUITE_TYPE_DH
@ TLS_CIPHER_SUITE_TYPE_UNKNOWN
@ TLS_CIPHER_SUITE_TYPE_DSA
@ TLS_CIPHER_SUITE_TYPE_ECDH
@ TLS_CIPHER_SUITE_TYPE_TLS13
@ TLS_CIPHER_SUITE_TYPE_SM
@ TLS_CIPHER_SUITE_TYPE_PSK
@ TLS_CIPHER_SUITE_TYPE_ECDSA
#define TLS_CIPHER_SUITE(identifier, keyExchMethod, cipherAlgo, cipherMode, hashAlgo, prfHashAlgo, macKeyLen, encKeyLen, fixedIvLen, recordIvLen, authTagLen, verifyDataLen)
@ TLS_RSA_PSK_WITH_NULL_SHA
@ TLS_RSA_WITH_3DES_EDE_CBC_SHA
@ TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384
@ TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA
@ TLS_DHE_PSK_WITH_NULL_SHA384
@ TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
@ TLS_RSA_WITH_ARIA_128_CBC_SHA256
@ TLS_ECDH_ANON_WITH_RC4_128_SHA
@ TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
@ TLS_PSK_WITH_NULL_SHA384
@ TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384
@ TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256
@ TLS_PSK_WITH_AES_256_CBC_SHA
@ TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA
@ TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
@ TLS_ECDHE_ECDSA_WITH_AES_128_CCM
@ TLS_PSK_WITH_CHACHA20_POLY1305_SHA256
@ TLS_AES_128_CCM_8_SHA256
@ TLS_PSK_WITH_RC4_128_SHA
@ TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
@ TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
@ TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
@ TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
@ TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
@ TLS_DHE_RSA_WITH_AES_128_CCM
@ TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384
@ TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256
@ TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384
@ TLS_CHACHA20_POLY1305_SHA256
@ TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_AES_256_GCM_SHA384
@ TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_ECDHE_PSK_WITH_RC4_128_SHA
@ TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384
@ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
@ TLS_PSK_WITH_ARIA_256_CBC_SHA384
@ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
@ TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA256
@ TLS_ECDHE_ECDSA_WITH_AES_256_CCM
@ TLS_DH_ANON_WITH_ARIA_128_CBC_SHA256
@ TLS_DHE_PSK_WITH_AES_256_CCM
@ TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384
@ TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_RSA_PSK_WITH_AES_256_CBC_SHA
@ TLS_RSA_WITH_ARIA_256_GCM_SHA384
@ TLS_PSK_WITH_3DES_EDE_CBC_SHA
@ TLS_PSK_WITH_AES_128_CCM_8
@ TLS_DHE_PSK_WITH_AES_128_CCM
@ TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256
@ TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
@ TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
@ TLS_RSA_WITH_NULL_SHA256
@ TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
@ TLS_PSK_WITH_AES_128_CBC_SHA
@ TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_RSA_PSK_WITH_NULL_SHA256
@ TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256
@ TLS_SM4_GCM_SM3
@ TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384
@ TLS_DHE_DSS_WITH_AES_128_CBC_SHA
@ TLS_RSA_WITH_NULL_MD5
@ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
@ TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256
@ TLS_PSK_WITH_NULL_SHA
@ TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
@ TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384
@ TLS_ECDH_ANON_WITH_NULL_SHA
@ TLS_RSA_PSK_WITH_AES_256_GCM_SHA384
@ TLS_PSK_WITH_ARIA_128_GCM_SHA256
@ TLS_ECDHE_RSA_WITH_NULL_SHA
@ TLS_RSA_WITH_AES_128_CCM_8
@ TLS_DHE_DSS_WITH_SEED_CBC_SHA
@ TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256
@ TLS_PSK_WITH_AES_128_CBC_SHA256
@ TLS_DHE_RSA_WITH_AES_256_CCM
@ TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256
@ TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384
@ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
@ TLS_RSA_WITH_AES_128_CBC_SHA
@ TLS_DH_ANON_WITH_AES_128_CBC_SHA
@ TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_PSK_WITH_AES_128_GCM_SHA256
@ TLS_RSA_PSK_WITH_NULL_SHA384
@ TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA
@ TLS_PSK_WITH_AES_256_CBC_SHA384
@ TLS_DHE_RSA_WITH_AES_128_CCM_8
@ TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_DHE_RSA_WITH_AES_256_CCM_8
@ TLS_RSA_WITH_AES_128_CBC_SHA256
@ TLS_ECDHE_PSK_WITH_NULL_SHA
@ TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256
@ TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
@ TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA
@ TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256
@ TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
@ TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384
@ TLS_ECDH_ANON_WITH_AES_256_CBC_SHA
@ TLS_RSA_PSK_WITH_AES_128_CBC_SHA
@ TLS_DHE_RSA_WITH_AES_256_CBC_SHA
@ TLS_PSK_WITH_AES_128_CCM
@ TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384
@ TLS_PSK_WITH_NULL_SHA256
@ TLS_RSA_PSK_WITH_AES_128_CBC_SHA256
@ TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256
@ TLS_DHE_RSA_WITH_AES_128_CBC_SHA
@ TLS_DH_ANON_WITH_ARIA_128_GCM_SHA256
@ TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
@ TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
@ TLS_ECDHE_ECDSA_WITH_NULL_SHA
@ TLS_DH_ANON_WITH_DES_CBC_SHA
@ TLS_DH_ANON_WITH_AES_256_CBC_SHA256
@ TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256
@ TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256
@ TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
@ TLS_DHE_DSS_WITH_DES_CBC_SHA
@ TLS_DH_ANON_WITH_RC4_128_MD5
@ TLS_RSA_PSK_WITH_RC4_128_SHA
@ TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
@ TLS_RSA_WITH_ARIA_256_CBC_SHA384
@ TLS_SHA256_SHA256
@ TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
@ TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256
@ TLS_ECDH_ANON_WITH_3DES_EDE_CBC_SHA
@ TLS_DH_ANON_WITH_AES_256_CBC_SHA
@ TLS_DH_ANON_WITH_AES_256_GCM_SHA384
@ TLS_DH_ANON_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_DH_ANON_WITH_SEED_CBC_SHA
@ TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256
@ TLS_RSA_WITH_AES_256_CBC_SHA256
@ TLS_ECDHE_PSK_WITH_NULL_SHA384
@ TLS_DHE_PSK_WITH_AES_128_CBC_SHA
@ TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
@ TLS_PSK_WITH_ARIA_128_CBC_SHA256
@ TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
@ TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384
@ TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
@ TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA
@ TLS_RSA_WITH_RC4_128_MD5
@ TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384
@ TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384
@ TLS_DHE_RSA_WITH_DES_CBC_SHA
@ TLS_AES_128_CCM_SHA256
@ TLS_DH_ANON_WITH_AES_128_CBC_SHA256
@ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
@ TLS_DHE_PSK_WITH_AES_256_CBC_SHA
@ TLS_ECDHE_PSK_WITH_NULL_SHA256
@ TLS_RSA_WITH_AES_128_CCM
@ TLS_PSK_WITH_AES_256_CCM_8
@ TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
@ TLS_RSA_WITH_ARIA_128_GCM_SHA256
@ TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256
@ TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
@ TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256
@ TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384
@ TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA
@ TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA
@ TLS_RSA_WITH_AES_256_GCM_SHA384
@ TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
@ TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
@ TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_RSA_WITH_SEED_CBC_SHA
@ TLS_DHE_DSS_WITH_AES_256_CBC_SHA
@ TLS_DHE_PSK_WITH_AES_128_CBC_SHA256
@ TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384
@ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
@ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
@ TLS_DH_ANON_WITH_ARIA_256_CBC_SHA384
@ TLS_DHE_PSK_WITH_AES_128_GCM_SHA256
@ TLS_AES_128_GCM_SHA256
@ TLS_PSK_WITH_ARIA_256_GCM_SHA384
@ TLS_RSA_WITH_NULL_SHA
@ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
@ TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA
@ TLS_RSA_WITH_DES_CBC_SHA
@ TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256
@ TLS_DH_ANON_WITH_AES_128_GCM_SHA256
@ TLS_DH_ANON_WITH_ARIA_256_GCM_SHA384
@ TLS_SHA384_SHA384
@ TLS_DHE_PSK_WITH_AES_256_GCM_SHA384
@ TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_RSA_WITH_IDEA_CBC_SHA
@ TLS_DHE_PSK_WITH_AES_256_CBC_SHA384
@ TLS_RSA_WITH_RC4_128_SHA
@ TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
@ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
@ TLS_ECDH_ANON_WITH_AES_128_CBC_SHA
@ TLS_DHE_RSA_WITH_SEED_CBC_SHA
@ TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_DHE_PSK_WITH_NULL_SHA
@ TLS_RSA_PSK_WITH_AES_128_GCM_SHA256
@ TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_DHE_PSK_WITH_RC4_128_SHA
@ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
@ TLS_DHE_PSK_WITH_AES_128_CCM_8
@ TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256
@ TLS_ECDHE_RSA_WITH_RC4_128_SHA
@ TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_RSA_WITH_AES_128_GCM_SHA256
@ TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256
@ TLS_DHE_PSK_WITH_NULL_SHA256
@ TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
@ TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
@ TLS_RSA_WITH_AES_256_CCM_8
@ TLS_PSK_WITH_AES_256_GCM_SHA384
@ TLS_RSA_WITH_AES_256_CCM
@ TLS_DHE_PSK_WITH_AES_256_CCM_8
@ TLS_DH_ANON_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_RSA_WITH_AES_256_CBC_SHA
@ TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256
@ TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8
@ TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
@ TLS_SM4_CCM_SM3
@ TLS_PSK_WITH_AES_256_CCM
@ TLS_RSA_PSK_WITH_AES_256_CBC_SHA384
@ TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
@ TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
@ TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384