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-2019 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 1.9.6
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"
37 #include "cipher/rc4.h"
38 #include "cipher/idea.h"
39 #include "cipher/des.h"
40 #include "cipher/des3.h"
41 #include "cipher/aes.h"
42 #include "cipher/camellia.h"
43 #include "cipher/seed.h"
44 #include "cipher/aria.h"
45 #include "hash/md5.h"
46 #include "hash/sha1.h"
47 #include "hash/sha256.h"
48 #include "hash/sha384.h"
49 #include "debug.h"
50 
51 //Check TLS library configuration
52 #if (TLS_SUPPORT == ENABLED)
53 
54 //List of supported cipher suites
56 {
57 //TLS_CHACHA20_POLY1305_SHA256 cipher suite
58 #if (TLS_MAX_VERSION >= TLS_VERSION_1_3 && TLS_MIN_VERSION <= TLS_VERSION_1_3 && TLS_CHACHA20_POLY1305_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
60 #endif
61 
62 //TLS_AES_128_GCM_SHA256 cipher suite
63 #if (TLS_MAX_VERSION >= TLS_VERSION_1_3 && TLS_MIN_VERSION <= TLS_VERSION_1_3 && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
65 #endif
66 
67 //TLS_AES_256_GCM_SHA384 cipher suite
68 #if (TLS_MAX_VERSION >= TLS_VERSION_1_3 && TLS_MIN_VERSION <= TLS_VERSION_1_3 && TLS_GCM_CIPHER_SUPPORT == ENABLED && TLS_AES_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
70 #endif
71 
72 //TLS_AES_128_CCM_SHA256 cipher suite
73 #if (TLS_MAX_VERSION >= TLS_VERSION_1_3 && TLS_MIN_VERSION <= TLS_VERSION_1_3 && TLS_CCM_CIPHER_SUPPORT == ENABLED && TLS_AES_SUPPORT == ENABLED && TLS_SHA256_SUPPORT == ENABLED)
75 #endif
76 
77 //TLS_AES_128_CCM_8_SHA256 cipher suite
78 #if (TLS_MAX_VERSION >= TLS_VERSION_1_3 && TLS_MIN_VERSION <= TLS_VERSION_1_3 && TLS_CCM_8_CIPHER_SUPPORT == ENABLED && TLS_AES_SUPPORT == ENABLED && TLS_SHA256_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
365 #endif
366 
367 //TLS_DHE_RSA_WITH_SEED_CBC_SHA cipher suite
368 #if (TLS_MAX_VERSION >= SSL_VERSION_3_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 >= SSL_VERSION_3_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_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_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_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_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_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_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_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_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_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_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_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_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_DSS_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
455 #endif
456 
457 //TLS_DHE_DSS_WITH_SEED_CBC_SHA cipher suite
458 #if (TLS_MAX_VERSION >= SSL_VERSION_3_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 >= SSL_VERSION_3_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_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_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_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_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_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_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_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_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_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_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_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_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_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_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_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_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_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_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_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_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_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_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_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
795 #endif
796 
797 //TLS_RSA_WITH_AES_128_CBC_SHA cipher suite
798 #if (TLS_MAX_VERSION >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
800 #endif
801 
802 //TLS_RSA_WITH_AES_256_CBC_SHA cipher suite
803 #if (TLS_MAX_VERSION >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
805 #endif
806 
807 //TLS_RSA_WITH_CAMELLIA_128_CBC_SHA cipher suite
808 #if (TLS_MAX_VERSION >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
810 #endif
811 
812 //TLS_RSA_WITH_CAMELLIA_256_CBC_SHA cipher suite
813 #if (TLS_MAX_VERSION >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
815 #endif
816 
817 //TLS_RSA_WITH_SEED_CBC_SHA cipher suite
818 #if (TLS_MAX_VERSION >= SSL_VERSION_3_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 >= SSL_VERSION_3_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_SUPPORT == ENABLED && TLS_SHA384_SUPPORT == ENABLED)
910 #endif
911 
912 //TLS_PSK_WITH_AES_128_CBC_SHA cipher suite
913 #if (TLS_MAX_VERSION >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
915 #endif
916 
917 //TLS_PSK_WITH_AES_256_CBC_SHA cipher suite
918 #if (TLS_MAX_VERSION >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
920 #endif
921 
922 //TLS_PSK_WITH_3DES_EDE_CBC_SHA cipher suite
923 #if (TLS_MAX_VERSION >= SSL_VERSION_3_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_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_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_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_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_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_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_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_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_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_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_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_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_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_AES_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_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 >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DH_ANON_KE_SUPPORT == ENABLED && TLS_CBC_CIPHER_SUPPORT == ENABLED && TLS_CAMELLIA_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1085 #endif
1086 
1087 //TLS_DH_anon_WITH_SEED_CBC_SHA cipher suite
1088 #if (TLS_MAX_VERSION >= SSL_VERSION_3_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_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 >= SSL_VERSION_3_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_ECDHE_ECDSA_WITH_NULL_SHA cipher suite
1108 #if (TLS_MAX_VERSION >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_ECDSA_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1110 #endif
1111 
1112 //TLS_ECDHE_RSA_WITH_NULL_SHA cipher suite
1113 #if (TLS_MAX_VERSION >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_RSA_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1115 #endif
1116 
1117 //TLS_ECDHE_PSK_WITH_NULL_SHA256 cipher suite
1118 #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)
1120 #endif
1121 
1122 //TLS_ECDHE_PSK_WITH_NULL_SHA384 cipher suite
1123 #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)
1125 #endif
1126 
1127 //TLS_ECDHE_PSK_WITH_NULL_SHA cipher suite
1128 #if (TLS_MAX_VERSION >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDHE_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1130 #endif
1131 
1132 //TLS_DHE_PSK_WITH_NULL_SHA256 cipher suite
1133 #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)
1135 #endif
1136 
1137 //TLS_DHE_PSK_WITH_NULL_SHA384 cipher suite
1138 #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)
1140 #endif
1141 
1142 //TLS_DHE_PSK_WITH_NULL_SHA cipher suite
1143 #if (TLS_MAX_VERSION >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_DHE_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1145 #endif
1146 
1147 //TLS_RSA_PSK_WITH_NULL_SHA256 cipher suite
1148 #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)
1150 #endif
1151 
1152 //TLS_RSA_PSK_WITH_NULL_SHA384 cipher suite
1153 #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)
1155 #endif
1156 
1157 //TLS_RSA_PSK_WITH_NULL_SHA cipher suite
1158 #if (TLS_MAX_VERSION >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1160 #endif
1161 
1162 //TLS_RSA_WITH_NULL_SHA256 cipher suite
1163 #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)
1165 #endif
1166 
1167 //TLS_RSA_WITH_NULL_SHA cipher suite
1168 #if (TLS_MAX_VERSION >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1170 #endif
1171 
1172 //TLS_RSA_WITH_NULL_MD5 cipher suite
1173 #if (TLS_MAX_VERSION >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_RSA_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_MD5_SUPPORT == ENABLED)
1175 #endif
1176 
1177 //TLS_PSK_WITH_NULL_SHA256 cipher suite
1178 #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)
1180 #endif
1181 
1182 //TLS_PSK_WITH_NULL_SHA384 cipher suite
1183 #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)
1185 #endif
1186 
1187 //TLS_PSK_WITH_NULL_SHA cipher suite
1188 #if (TLS_MAX_VERSION >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_PSK_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1190 #endif
1191 
1192 //TLS_ECDH_anon_WITH_NULL_SHA cipher suite
1193 #if (TLS_MAX_VERSION >= SSL_VERSION_3_0 && TLS_MIN_VERSION <= TLS_VERSION_1_2 && TLS_ECDH_ANON_KE_SUPPORT == ENABLED && TLS_NULL_CIPHER_SUPPORT == ENABLED && TLS_SHA1_SUPPORT == ENABLED)
1195 #endif
1196 };
1197 
1198 
1199 /**
1200  * @brief Determine the number of cipher suites supported
1201  * @return Number of supported cipher suites
1202  **/
1203 
1205 {
1206  //Return the number of supported cipher suites
1208 }
1209 
1210 
1211 /**
1212  * @brief Convert cipher suite identifier to string representation
1213  * @param[in] identifier Cipher suite identifier
1214  * @return Cipher suite name
1215  **/
1216 
1218 {
1219  uint_t i;
1220 
1221  //Default name for unknown cipher suites
1222  static const char_t defaultName[] = "Unknown";
1223 
1224  //Parse the list of supported cipher suites
1225  for(i = 0; i < arraysize(tlsSupportedCipherSuites); i++)
1226  {
1227  //The current cipher suite matches the specified identifier?
1229  return tlsSupportedCipherSuites[i].name;
1230  }
1231 
1232  //Unknown cipher suite
1233  return defaultName;
1234 }
1235 
1236 
1237 /**
1238  * @brief Check whether a cipher suite can be used with a given protocol
1239  * version
1240  * @param[in] cipherSuite Cipher suite
1241  * @param[in] minVersion Minimum TLS protocol version
1242  * @param[in] maxVersion Maximum TLS protocol version
1243  * @param[in] transportProtocol Transport protocol (TLS or DTLS)
1244  * @return TRUE if the cipher suite is acceptable, else FALSE
1245  **/
1246 
1248  uint16_t minVersion, uint16_t maxVersion,
1249  TlsTransportProtocol transportProtocol)
1250 {
1251  bool_t acceptable;
1252 
1253  //Initialize flag
1254  acceptable = TRUE;
1255 
1256  //TLS 1.2 cipher suites must not be negotiated in older versions of TLS
1257  if(maxVersion < TLS_VERSION_1_2)
1258  {
1259  //TLS 1.2 cipher suite?
1260  if(cipherSuite->prfHashAlgo != NULL)
1261  acceptable = FALSE;
1262  }
1263 
1264  //Although TLS 1.3 uses the same cipher suite space as previous versions
1265  //of TLS, TLS 1.3 cipher suites are defined differently, only specifying
1266  //the symmetric ciphers, and cannot be used for TLS 1.2
1267  if(maxVersion < TLS_VERSION_1_3)
1268  {
1269  //TLS 1.3 cipher suite?
1270  if(cipherSuite->keyExchMethod == TLS_KEY_EXCH_NONE)
1271  acceptable = FALSE;
1272  }
1273 
1274  //Similarly, TLS 1.2 and lower cipher suites cannot be used with TLS 1.3
1275  if(minVersion > TLS_VERSION_1_2)
1276  {
1277  //TLS 1.2 and lower cipher suite?
1278  if(cipherSuite->keyExchMethod != TLS_KEY_EXCH_NONE)
1279  acceptable = FALSE;
1280  }
1281 
1282  //The only stream cipher described in TLS 1.2 is RC4, which cannot be
1283  //randomly accessed. RC4 must not be used with DTLS
1284  if(transportProtocol == TLS_TRANSPORT_PROTOCOL_DATAGRAM)
1285  {
1286  //RC4 stream cipher?
1287  if(cipherSuite->cipherMode == CIPHER_MODE_STREAM)
1288  acceptable = FALSE;
1289  }
1290 
1291  //Return TRUE is the cipher suite can be used with the specified protocol
1292  //version
1293  return acceptable;
1294 }
1295 
1296 
1297 /**
1298  * @brief Check whether the specified identifier matches an ECC or FFDHE
1299  * cipher suite
1300  * @param[in] identifier Cipher suite identifier
1301  * @return Cipher suite type
1302  **/
1303 
1305 {
1306  uint_t i;
1308 
1309  //Initialize type
1311 
1312  //Loop through the list of supported cipher suites
1313  for(i = 0; i < arraysize(tlsSupportedCipherSuites); i++)
1314  {
1315  //Compare cipher suite identifier against the specified value
1317  {
1318  //Check key exchange mechanism
1319  switch(tlsSupportedCipherSuites[i].keyExchMethod)
1320  {
1325  //ECC cipher suite
1327  break;
1328  case TLS_KEY_EXCH_DH_ANON:
1329  case TLS_KEY_EXCH_DHE_RSA:
1330  case TLS_KEY_EXCH_DHE_DSS:
1331  case TLS_KEY_EXCH_DHE_PSK:
1332  //FFDHE cipher suite
1334  break;
1335  case TLS_KEY_EXCH_NONE:
1336  //TLS 1.3 cipher suite
1338  break;
1339  default:
1340  //Just for sanity
1341  break;
1342  }
1343 
1344  //We are done
1345  break;
1346  }
1347  }
1348 
1349  //Return cipher suite type
1350  return type;
1351 }
1352 
1353 #endif
@ TLS_PSK_WITH_RC4_128_SHA
@ TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
@ TLS_ECDH_ANON_WITH_3DES_EDE_CBC_SHA
@ TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA
@ TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256
#define ARIA_CIPHER_ALGO
Definition: aria.h:40
@ TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
TlsCipherSuiteType
Cipher suite types.
@ TLS_PSK_WITH_CHACHA20_POLY1305_SHA256
@ TLS_PSK_WITH_AES_128_CBC_SHA256
#define SHA256_HASH_ALGO
Definition: sha256.h:46
int bool_t
Definition: compiler_port.h:49
TLS cipher suites.
@ TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
@ TLS_PSK_WITH_AES_128_CCM
#define SHA1_HASH_ALGO
Definition: sha1.h:46
@ TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384
@ TLS_DHE_PSK_WITH_AES_128_CCM_8
@ TLS_DHE_PSK_WITH_NULL_SHA
@ TLS_RSA_WITH_NULL_MD5
@ CIPHER_MODE_CBC
Definition: crypto.h:1082
@ TLS_DH_ANON_WITH_ARIA_128_CBC_SHA256
@ TLS_ECDHE_RSA_WITH_NULL_SHA
@ TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384
@ TLS_DHE_RSA_WITH_AES_256_CCM
@ TLS_RSA_PSK_WITH_AES_128_CBC_SHA
@ TLS_DH_ANON_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_AES_128_CCM_8_SHA256
SHA-1 (Secure Hash Algorithm 1)
@ CIPHER_MODE_GCM
Definition: crypto.h:1087
@ TLS_ECDH_ANON_WITH_NULL_SHA
@ TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
@ TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
@ TLS_PSK_WITH_ARIA_256_GCM_SHA384
#define TRUE
Definition: os_port.h:50
ARIA encryption algorithm.
@ TLS_RSA_PSK_WITH_NULL_SHA256
@ TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384
@ TLS_ECDHE_ECDSA_WITH_NULL_SHA
@ TLS_CIPHER_SUITE_TYPE_ECC
@ TLS_TRANSPORT_PROTOCOL_DATAGRAM
Definition: tls.h:851
@ TLS_DHE_PSK_WITH_AES_128_CBC_SHA256
@ TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256
#define IDEA_CIPHER_ALGO
Definition: idea.h:40
@ TLS_RSA_WITH_ARIA_128_GCM_SHA256
const char_t * name
Definition: tls.h:1815
Structure describing a cipher suite.
Definition: tls.h:1812
@ TLS_RSA_WITH_ARIA_256_CBC_SHA384
@ TLS_DH_ANON_WITH_ARIA_256_CBC_SHA384
@ TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
@ TLS_ECDH_ANON_WITH_AES_256_CBC_SHA
@ TLS_DHE_DSS_WITH_AES_128_CBC_SHA
@ TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8
@ TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384
@ TLS_DH_ANON_WITH_ARIA_128_GCM_SHA256
@ TLS_DHE_PSK_WITH_AES_128_GCM_SHA256
@ TLS_ECDHE_PSK_WITH_NULL_SHA256
@ TLS_DHE_DSS_WITH_AES_256_CBC_SHA
@ TLS_DHE_PSK_WITH_NULL_SHA256
@ TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_DHE_RSA_WITH_AES_128_CCM
@ TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384
@ TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
@ TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
@ TLS_CIPHER_SUITE_TYPE_TLS13
@ TLS_RSA_PSK_WITH_NULL_SHA
@ TLS_DH_ANON_WITH_AES_256_GCM_SHA384
@ TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
@ TLS_DHE_PSK_WITH_AES_256_CBC_SHA384
@ TLS_DHE_PSK_WITH_AES_256_CBC_SHA
@ TLS_RSA_PSK_WITH_AES_256_CBC_SHA384
@ TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA
@ TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
@ TLS_KEY_EXCH_RSA
Definition: tls.h:1027
@ TLS_DHE_PSK_WITH_AES_128_CCM
@ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
@ TLS_DH_ANON_WITH_AES_128_GCM_SHA256
@ TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_DHE_RSA_WITH_AES_128_CBC_SHA
@ TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
@ TLS_RSA_WITH_AES_256_GCM_SHA384
@ TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
@ TLS_PSK_WITH_NULL_SHA256
@ TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256
@ TLS_KEY_EXCH_ECDHE_ECDSA
Definition: tls.h:1036
@ TLS_KEY_EXCH_ECDHE_RSA
Definition: tls.h:1034
@ TLS_DH_ANON_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_CHACHA20_POLY1305_SHA256
#define FALSE
Definition: os_port.h:46
@ TLS_ECDHE_PSK_WITH_NULL_SHA384
@ TLS_KEY_EXCH_ECDH_ANON
Definition: tls.h:1037
@ TLS_DH_ANON_WITH_ARIA_256_GCM_SHA384
@ TLS_RSA_PSK_WITH_AES_256_GCM_SHA384
@ TLS_DH_ANON_WITH_AES_128_CBC_SHA256
@ TLS_DHE_RSA_WITH_SEED_CBC_SHA
@ TLS_RSA_WITH_ARIA_256_GCM_SHA384
@ TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256
char_t type
@ TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256
@ TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
@ TLS_RSA_WITH_AES_128_CCM_8
#define SEED_CIPHER_ALGO
Definition: seed.h:40
@ TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384
@ TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_PSK_WITH_AES_256_CCM
@ TLS_DHE_PSK_WITH_NULL_SHA384
@ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
#define TLS_VERSION_1_2
Definition: tls.h:94
@ TLS_RSA_WITH_AES_128_CBC_SHA256
@ TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
@ TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_DH_ANON_WITH_DES_CBC_SHA
@ TLS_KEY_EXCH_DH_ANON
Definition: tls.h:1032
@ TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_DH_ANON_WITH_SEED_CBC_SHA
@ TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384
uint8_t identifier[]
@ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
AES (Advanced Encryption Standard)
#define MD5_HASH_ALGO
Definition: md5.h:46
@ TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
@ TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384
@ TLS_CIPHER_SUITE_TYPE_UNKNOWN
@ TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
@ TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256
@ TLS_PSK_WITH_AES_256_CBC_SHA
@ TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256
#define TLS_VERSION_1_3
Definition: tls.h:95
#define RC4_CIPHER_ALGO
Definition: rc4.h:38
#define TLS_CIPHER_SUITE(identifier, keyExchMethod, cipherAlgo, cipherMode, hashAlgo, prfHashAlgo, macKeyLen, encKeyLen, fixedIvLen, recordIvLen, authTagLen, verifyDataLen)
@ TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
@ TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384
@ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
@ TLS_DHE_RSA_WITH_AES_256_CCM_8
@ TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
@ TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
@ TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
#define CAMELLIA_CIPHER_ALGO
Definition: camellia.h:40
@ TLS_ECDHE_PSK_WITH_NULL_SHA
@ TLS_RSA_WITH_NULL_SHA256
@ TLS_RSA_WITH_IDEA_CBC_SHA
@ TLS_DHE_RSA_WITH_DES_CBC_SHA
@ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
IDEA encryption algorithm.
#define DES_CIPHER_ALGO
Definition: des.h:40
@ TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA
@ TLS_DH_ANON_WITH_AES_256_CBC_SHA
@ TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256
@ TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA
@ TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
@ TLS_RSA_PSK_WITH_NULL_SHA384
@ TLS_DH_ANON_WITH_RC4_128_MD5
@ CIPHER_MODE_STREAM
Definition: crypto.h:1080
@ TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
SHA-384 (Secure Hash Algorithm 384)
@ TLS_DHE_PSK_WITH_AES_256_CCM
@ TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_RSA_PSK_WITH_RC4_128_SHA
@ TLS_PSK_WITH_NULL_SHA
@ TLS_KEY_EXCH_DHE_PSK
Definition: tls.h:1040
SEED encryption algorithm.
@ TLS_RSA_WITH_AES_256_CCM
@ TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256
@ TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256
@ TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384
@ TLS_PSK_WITH_AES_256_CCM_8
@ TLS_DHE_RSA_WITH_AES_256_CBC_SHA
DES (Data Encryption Standard)
@ TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_RSA_WITH_AES_256_CBC_SHA
@ TLS_DHE_PSK_WITH_AES_256_CCM_8
@ TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
@ TLS_PSK_WITH_ARIA_128_CBC_SHA256
@ TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_RSA_WITH_3DES_EDE_CBC_SHA
@ TLS_ECDHE_ECDSA_WITH_AES_256_CCM
@ TLS_RSA_PSK_WITH_AES_256_CBC_SHA
@ TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_KEY_EXCH_RSA_PSK
Definition: tls.h:1039
@ TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
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.
@ TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
@ TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA
@ TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
@ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
@ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
@ TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256
@ TLS_DHE_RSA_WITH_AES_128_CCM_8
#define SHA384_HASH_ALGO
Definition: sha384.h:47
@ TLS_RSA_WITH_RC4_128_SHA
@ TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256
char char_t
Definition: compiler_port.h:43
SHA-256 (Secure Hash Algorithm 256)
@ TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
@ TLS_RSA_WITH_SEED_CBC_SHA
@ TLS_PSK_WITH_AES_128_CBC_SHA
@ TLS_KEY_EXCH_NONE
Definition: tls.h:1026
@ CIPHER_MODE_CCM
Definition: crypto.h:1086
@ TLS_DHE_PSK_WITH_AES_256_GCM_SHA384
@ TLS_DH_ANON_WITH_AES_256_CBC_SHA256
@ TLS_RSA_WITH_AES_128_CCM
const char_t * tlsGetCipherSuiteName(uint16_t identifier)
Convert cipher suite identifier to string representation.
@ TLS_ECDHE_PSK_WITH_RC4_128_SHA
@ TLS_PSK_WITH_AES_256_GCM_SHA384
@ TLS_PSK_WITH_ARIA_128_GCM_SHA256
@ TLS_PSK_WITH_3DES_EDE_CBC_SHA
@ TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256
@ TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384
@ TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_CIPHER_SUITE_TYPE_FFDHE
uint16_t cipherSuite
Cipher suite identifier.
Definition: tls13_misc.h:372
@ TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384
MD5 (Message-Digest Algorithm)
TlsTransportProtocol
TLS transport protocols.
Definition: tls.h:848
@ TLS_PSK_WITH_AES_128_CCM_8
@ TLS_RSA_WITH_ARIA_128_CBC_SHA256
@ TLS_RSA_WITH_RC4_128_MD5
@ TLS_RSA_WITH_DES_CBC_SHA
const TlsCipherSuiteInfo tlsSupportedCipherSuites[]
@ TLS_KEY_EXCH_PSK
Definition: tls.h:1038
@ TLS_KEY_EXCH_ECDHE_PSK
Definition: tls.h:1041
@ TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_ECDHE_ECDSA_WITH_AES_128_CCM
@ TLS_PSK_WITH_ARIA_256_CBC_SHA384
@ TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
@ TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA
@ TLS_DH_ANON_WITH_AES_128_CBC_SHA
@ TLS_DHE_DSS_WITH_DES_CBC_SHA
@ TLS_RSA_PSK_WITH_AES_128_GCM_SHA256
@ TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256
@ TLS_RSA_WITH_NULL_SHA
TLS (Transport Layer Security)
@ TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
#define AES_CIPHER_ALGO
Definition: aes.h:40
@ TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256
@ TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384
@ TLS_PSK_WITH_NULL_SHA384
@ TLS_PSK_WITH_AES_256_CBC_SHA384
@ TLS_DHE_DSS_WITH_SEED_CBC_SHA
@ TLS_KEY_EXCH_DHE_DSS
Definition: tls.h:1031
@ TLS_RSA_WITH_AES_256_CCM_8
@ TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
@ TLS_ECDHE_RSA_WITH_RC4_128_SHA
@ TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384
@ TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256
@ TLS_DHE_PSK_WITH_RC4_128_SHA
@ TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA
@ CIPHER_MODE_NULL
Definition: crypto.h:1079
@ CIPHER_MODE_CHACHA20_POLY1305
Definition: crypto.h:1088
@ TLS_RSA_WITH_AES_128_GCM_SHA256
uint_t tlsGetNumSupportedCipherSuites(void)
Determine the number of cipher suites supported.
@ TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384
#define DES3_CIPHER_ALGO
Definition: des3.h:41
@ TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
@ TLS_AES_128_CCM_SHA256
@ TLS_AES_256_GCM_SHA384
unsigned int uint_t
Definition: compiler_port.h:45
TlsCipherSuiteType tlsGetCipherSuiteType(uint16_t identifier)
Check whether the specified identifier matches an ECC or FFDHE cipher suite.
@ TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384
@ TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
@ TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
@ TLS_PSK_WITH_AES_128_GCM_SHA256
@ TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256
@ TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
@ TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
@ TLS_KEY_EXCH_DHE_RSA
Definition: tls.h:1029
@ TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256
@ TLS_RSA_WITH_AES_128_CBC_SHA
RC4 encryption algorithm.
@ TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA256
Triple DES (Triple Data Encryption Algorithm)
@ TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
@ TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
@ TLS_ECDH_ANON_WITH_AES_128_CBC_SHA
@ TLS_AES_128_GCM_SHA256
Debugging facilities.
@ TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
@ TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256
@ TLS_RSA_WITH_AES_256_CBC_SHA256
#define arraysize(a)
Definition: os_port.h:70
@ TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256
@ TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384
@ TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA
@ TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384
Camellia encryption algorithm.
@ TLS_RSA_PSK_WITH_AES_128_CBC_SHA256
@ TLS_ECDH_ANON_WITH_RC4_128_SHA
@ TLS_DHE_PSK_WITH_AES_128_CBC_SHA