PolarSSL v1.3.1
Main Page
Modules
Data Structures
Files
File List
Globals
library
ssl_ciphersuites.c
Go to the documentation of this file.
1
28
#include "
polarssl/config.h
"
29
30
#if defined(POLARSSL_SSL_TLS_C)
31
32
#include "
polarssl/ssl_ciphersuites.h
"
33
#include "
polarssl/ssl.h
"
34
35
#include <stdlib.h>
36
37
#if defined _MSC_VER && !defined strcasecmp
38
#define strcasecmp _stricmp
39
#endif
40
41
/*
42
* Ordered from most preferred to least preferred in terms of security.
43
*/
44
static
const
int
ciphersuite_preference[] =
45
{
46
/* All AES-256 ephemeral suites */
47
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
,
48
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
,
49
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
,
50
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
,
51
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
,
52
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
,
53
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
,
54
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
,
55
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
,
56
57
/* All CAMELLIA-256 ephemeral suites */
58
TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
,
59
TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
,
60
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
,
61
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
,
62
63
/* All AES-128 ephemeral suites */
64
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
,
65
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
,
66
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
,
67
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
,
68
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
,
69
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
,
70
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
,
71
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
,
72
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
,
73
74
/* All CAMELLIA-128 ephemeral suites */
75
TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
,
76
TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
,
77
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
,
78
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
,
79
80
/* All remaining >= 128-bit ephemeral suites */
81
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
,
82
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
,
83
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
,
84
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
,
85
TLS_ECDHE_RSA_WITH_RC4_128_SHA
,
86
87
/* The PSK ephemeral suites */
88
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384
,
89
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA
,
90
TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
,
91
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
,
92
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA
,
93
TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
,
94
TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
,
95
TLS_ECDHE_PSK_WITH_RC4_128_SHA
,
96
TLS_DHE_PSK_WITH_AES_256_CBC_SHA384
,
97
TLS_DHE_PSK_WITH_AES_256_CBC_SHA
,
98
TLS_DHE_PSK_WITH_AES_256_GCM_SHA384
,
99
TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
,
100
TLS_DHE_PSK_WITH_AES_128_CBC_SHA256
,
101
TLS_DHE_PSK_WITH_AES_128_CBC_SHA
,
102
TLS_DHE_PSK_WITH_AES_128_GCM_SHA256
,
103
TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
,
104
TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA
,
105
TLS_DHE_PSK_WITH_RC4_128_SHA
,
106
107
/* All AES-256 suites */
108
TLS_RSA_WITH_AES_256_CBC_SHA256
,
109
TLS_RSA_WITH_AES_256_GCM_SHA384
,
110
TLS_RSA_WITH_AES_256_CBC_SHA
,
111
112
/* All CAMELLIA-256 suites */
113
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
,
114
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
,
115
116
/* All AES-128 suites */
117
TLS_RSA_WITH_AES_128_CBC_SHA256
,
118
TLS_RSA_WITH_AES_128_GCM_SHA256
,
119
TLS_RSA_WITH_AES_128_CBC_SHA
,
120
121
/* All CAMELLIA-128 suites */
122
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
,
123
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
,
124
125
/* All remaining >= 128-bit suites */
126
TLS_RSA_WITH_3DES_EDE_CBC_SHA
,
127
TLS_RSA_WITH_RC4_128_SHA
,
128
TLS_RSA_WITH_RC4_128_MD5
,
129
130
/* The RSA PSK suites */
131
TLS_RSA_PSK_WITH_AES_256_CBC_SHA384
,
132
TLS_RSA_PSK_WITH_AES_256_CBC_SHA
,
133
TLS_RSA_PSK_WITH_AES_256_GCM_SHA384
,
134
TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384
,
135
TLS_RSA_PSK_WITH_AES_128_CBC_SHA256
,
136
TLS_RSA_PSK_WITH_AES_128_CBC_SHA
,
137
TLS_RSA_PSK_WITH_AES_128_GCM_SHA256
,
138
TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256
,
139
TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
,
140
TLS_RSA_PSK_WITH_RC4_128_SHA
,
141
142
/* The PSK suites */
143
TLS_PSK_WITH_AES_256_CBC_SHA384
,
144
TLS_PSK_WITH_AES_256_CBC_SHA
,
145
TLS_PSK_WITH_AES_256_GCM_SHA384
,
146
TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384
,
147
TLS_PSK_WITH_AES_128_CBC_SHA256
,
148
TLS_PSK_WITH_AES_128_CBC_SHA
,
149
TLS_PSK_WITH_AES_128_GCM_SHA256
,
150
TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
,
151
TLS_PSK_WITH_3DES_EDE_CBC_SHA
,
152
TLS_PSK_WITH_RC4_128_SHA
,
153
154
/* Weak suites */
155
TLS_DHE_RSA_WITH_DES_CBC_SHA
,
156
TLS_RSA_WITH_DES_CBC_SHA
,
157
158
/* NULL suites */
159
TLS_ECDHE_ECDSA_WITH_NULL_SHA
,
160
TLS_ECDHE_RSA_WITH_NULL_SHA
,
161
TLS_ECDHE_PSK_WITH_NULL_SHA384
,
162
TLS_ECDHE_PSK_WITH_NULL_SHA256
,
163
TLS_ECDHE_PSK_WITH_NULL_SHA
,
164
TLS_DHE_PSK_WITH_NULL_SHA384
,
165
TLS_DHE_PSK_WITH_NULL_SHA256
,
166
TLS_DHE_PSK_WITH_NULL_SHA
,
167
TLS_RSA_WITH_NULL_SHA256
,
168
TLS_RSA_WITH_NULL_SHA
,
169
TLS_RSA_WITH_NULL_MD5
,
170
TLS_RSA_PSK_WITH_NULL_SHA384
,
171
TLS_RSA_PSK_WITH_NULL_SHA256
,
172
TLS_RSA_PSK_WITH_NULL_SHA
,
173
TLS_PSK_WITH_NULL_SHA384
,
174
TLS_PSK_WITH_NULL_SHA256
,
175
TLS_PSK_WITH_NULL_SHA
,
176
177
0
178
};
179
180
#define MAX_CIPHERSUITES 128
181
static
int
supported_ciphersuites[MAX_CIPHERSUITES];
182
static
int
supported_init = 0;
183
184
static
const
ssl_ciphersuite_t
ciphersuite_definitions[] =
185
{
186
#if defined(POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
187
#if defined(POLARSSL_AES_C)
188
#if defined(POLARSSL_SHA1_C)
189
#if defined(POLARSSL_CIPHER_MODE_CBC)
190
{
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
,
"TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA"
,
191
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA
,
192
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_1
,
193
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
194
0 },
195
{
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
,
"TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA"
,
196
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA
,
197
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_1
,
198
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
199
0 },
200
#endif
/* POLARSSL_CIPHER_MODE_CBC */
201
#endif
/* POLARSSL_SHA1_C */
202
#if defined(POLARSSL_SHA256_C)
203
#if defined(POLARSSL_CIPHER_MODE_CBC)
204
{
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
,
"TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256"
,
205
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA
,
206
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
207
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
208
0 },
209
#endif
/* POLARSSL_CIPHER_MODE_CBC */
210
#if defined(POLARSSL_GCM_C)
211
{
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
,
"TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256"
,
212
POLARSSL_CIPHER_AES_128_GCM
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA
,
213
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
214
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
215
0 },
216
#endif
/* POLARSSL_GCM_C */
217
#endif
/* POLARSSL_SHA256_C */
218
#if defined(POLARSSL_SHA512_C)
219
#if defined(POLARSSL_CIPHER_MODE_CBC)
220
{
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
,
"TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384"
,
221
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA
,
222
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
223
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
224
0 },
225
#endif
/* POLARSSL_CIPHER_MODE_CBC */
226
#if defined(POLARSSL_GCM_C)
227
{
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
,
"TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384"
,
228
POLARSSL_CIPHER_AES_256_GCM
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA
,
229
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
230
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
231
0 },
232
#endif
/* POLARSSL_GCM_C */
233
#endif
/* POLARSSL_SHA512_C */
234
#endif
/* POLARSSL_AES_C */
235
236
#if defined(POLARSSL_CAMELLIA_C)
237
#if defined(POLARSSL_CIPHER_MODE_CBC)
238
#if defined(POLARSSL_SHA256_C)
239
{
TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
,
"TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-CBC-SHA256"
,
240
POLARSSL_CIPHER_CAMELLIA_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA
,
241
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
242
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
243
0 },
244
#endif
/* POLARSSL_SHA256_C */
245
#if defined(POLARSSL_SHA512_C)
246
{
TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
,
"TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-CBC-SHA384"
,
247
POLARSSL_CIPHER_CAMELLIA_256_CBC
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA
,
248
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
249
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
250
0 },
251
#endif
/* POLARSSL_SHA512_C */
252
#endif
/* POLARSSL_CIPHER_MODE_CBC */
253
#endif
/* POLARSSL_CAMELLIA_C */
254
255
#if defined(POLARSSL_DES_C)
256
#if defined(POLARSSL_CIPHER_MODE_CBC)
257
#if defined(POLARSSL_SHA1_C)
258
{
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
,
"TLS-ECDHE-ECDSA-WITH-3DES-EDE-CBC-SHA"
,
259
POLARSSL_CIPHER_DES_EDE3_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA
,
260
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_1
,
261
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
262
0 },
263
#endif
/* POLARSSL_SHA1_C */
264
#endif
/* POLARSSL_CIPHER_MODE_CBC */
265
#endif
/* POLARSSL_DES_C */
266
267
#if defined(POLARSSL_ARC4_C)
268
#if defined(POLARSSL_SHA1_C)
269
{
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
,
"TLS-ECDHE-ECDSA-WITH-RC4-128-SHA"
,
270
POLARSSL_CIPHER_ARC4_128
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA
,
271
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_1
,
272
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
273
0 },
274
#endif
/* POLARSSL_SHA1_C */
275
#endif
/* POLARSSL_ARC4_C */
276
277
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
278
#if defined(POLARSSL_SHA1_C)
279
{
TLS_ECDHE_ECDSA_WITH_NULL_SHA
,
"TLS-ECDHE-ECDSA-WITH-NULL-SHA"
,
280
POLARSSL_CIPHER_NULL
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA
,
281
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_1
,
282
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
283
POLARSSL_CIPHERSUITE_WEAK
},
284
#endif
/* POLARSSL_SHA1_C */
285
#endif
/* POLARSSL_CIPHER_NULL_CIPHER */
286
#endif
/* POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
287
288
#if defined(POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
289
#if defined(POLARSSL_AES_C)
290
#if defined(POLARSSL_SHA1_C)
291
#if defined(POLARSSL_CIPHER_MODE_CBC)
292
{
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
,
"TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA"
,
293
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_ECDHE_RSA
,
294
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_1
,
295
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
296
0 },
297
{
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
,
"TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA"
,
298
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_ECDHE_RSA
,
299
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_1
,
300
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
301
0 },
302
#endif
/* POLARSSL_CIPHER_MODE_CBC */
303
#endif
/* POLARSSL_SHA1_C */
304
#if defined(POLARSSL_SHA256_C)
305
#if defined(POLARSSL_CIPHER_MODE_CBC)
306
{
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
,
"TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256"
,
307
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_ECDHE_RSA
,
308
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
309
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
310
0 },
311
#endif
/* POLARSSL_CIPHER_MODE_CBC */
312
#if defined(POLARSSL_GCM_C)
313
{
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
,
"TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256"
,
314
POLARSSL_CIPHER_AES_128_GCM
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_ECDHE_RSA
,
315
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
316
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
317
0 },
318
#endif
/* POLARSSL_GCM_C */
319
#endif
/* POLARSSL_SHA256_C */
320
#if defined(POLARSSL_SHA512_C)
321
#if defined(POLARSSL_CIPHER_MODE_CBC)
322
{
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
,
"TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384"
,
323
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_ECDHE_RSA
,
324
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
325
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
326
0 },
327
#endif
/* POLARSSL_CIPHER_MODE_CBC */
328
#if defined(POLARSSL_GCM_C)
329
{
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
,
"TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384"
,
330
POLARSSL_CIPHER_AES_256_GCM
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_ECDHE_RSA
,
331
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
332
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
333
0 },
334
#endif
/* POLARSSL_GCM_C */
335
#endif
/* POLARSSL_SHA512_C */
336
#endif
/* POLARSSL_AES_C */
337
338
#if defined(POLARSSL_CAMELLIA_C)
339
#if defined(POLARSSL_CIPHER_MODE_CBC)
340
#if defined(POLARSSL_SHA256_C)
341
{
TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
,
"TLS-ECDHE-RSA-WITH-CAMELLIA-128-CBC-SHA256"
,
342
POLARSSL_CIPHER_CAMELLIA_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_ECDHE_RSA
,
343
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
344
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
345
0 },
346
#endif
/* POLARSSL_SHA256_C */
347
#if defined(POLARSSL_SHA512_C)
348
{
TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
,
"TLS-ECDHE-RSA-WITH-CAMELLIA-256-CBC-SHA384"
,
349
POLARSSL_CIPHER_CAMELLIA_256_CBC
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_ECDHE_RSA
,
350
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
351
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
352
0 },
353
#endif
/* POLARSSL_SHA512_C */
354
#endif
/* POLARSSL_CIPHER_MODE_CBC */
355
#endif
/* POLARSSL_CAMELLIA_C */
356
357
#if defined(POLARSSL_DES_C)
358
#if defined(POLARSSL_CIPHER_MODE_CBC)
359
#if defined(POLARSSL_SHA1_C)
360
{
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
,
"TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA"
,
361
POLARSSL_CIPHER_DES_EDE3_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_ECDHE_RSA
,
362
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_1
,
363
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
364
0 },
365
#endif
/* POLARSSL_SHA1_C */
366
#endif
/* POLARSSL_CIPHER_MODE_CBC */
367
#endif
/* POLARSSL_DES_C */
368
369
#if defined(POLARSSL_ARC4_C)
370
#if defined(POLARSSL_SHA1_C)
371
{
TLS_ECDHE_RSA_WITH_RC4_128_SHA
,
"TLS-ECDHE-RSA-WITH-RC4-128-SHA"
,
372
POLARSSL_CIPHER_ARC4_128
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_ECDHE_RSA
,
373
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_1
,
374
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
375
0 },
376
#endif
/* POLARSSL_SHA1_C */
377
#endif
/* POLARSSL_ARC4_C */
378
379
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
380
#if defined(POLARSSL_SHA1_C)
381
{
TLS_ECDHE_RSA_WITH_NULL_SHA
,
"TLS-ECDHE-RSA-WITH-NULL-SHA"
,
382
POLARSSL_CIPHER_NULL
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_ECDHE_RSA
,
383
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_1
,
384
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
385
POLARSSL_CIPHERSUITE_WEAK
},
386
#endif
/* POLARSSL_SHA1_C */
387
#endif
/* POLARSSL_CIPHER_NULL_CIPHER */
388
#endif
/* POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
389
390
#if defined(POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED)
391
#if defined(POLARSSL_AES_C)
392
#if defined(POLARSSL_SHA512_C) && defined(POLARSSL_GCM_C)
393
{
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
,
"TLS-DHE-RSA-WITH-AES-256-GCM-SHA384"
,
394
POLARSSL_CIPHER_AES_256_GCM
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_DHE_RSA
,
395
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
396
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
397
0 },
398
#endif
/* POLARSSL_SHA512_C && POLARSSL_GCM_C */
399
400
#if defined(POLARSSL_SHA256_C)
401
#if defined(POLARSSL_GCM_C)
402
{
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
,
"TLS-DHE-RSA-WITH-AES-128-GCM-SHA256"
,
403
POLARSSL_CIPHER_AES_128_GCM
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_DHE_RSA
,
404
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
405
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
406
0 },
407
#endif
/* POLARSSL_GCM_C */
408
409
#if defined(POLARSSL_CIPHER_MODE_CBC)
410
{
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
,
"TLS-DHE-RSA-WITH-AES-128-CBC-SHA256"
,
411
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_DHE_RSA
,
412
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
413
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
414
0 },
415
416
{
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
,
"TLS-DHE-RSA-WITH-AES-256-CBC-SHA256"
,
417
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_DHE_RSA
,
418
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
419
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
420
0 },
421
#endif
/* POLARSSL_CIPHER_MODE_CBC */
422
#endif
/* POLARSSL_SHA256_C */
423
424
#if defined(POLARSSL_CIPHER_MODE_CBC)
425
#if defined(POLARSSL_SHA1_C)
426
{
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
,
"TLS-DHE-RSA-WITH-AES-128-CBC-SHA"
,
427
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_DHE_RSA
,
428
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
429
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
430
0 },
431
432
{
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
,
"TLS-DHE-RSA-WITH-AES-256-CBC-SHA"
,
433
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_DHE_RSA
,
434
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
435
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
436
0 },
437
#endif
/* POLARSSL_SHA1_C */
438
#endif
/* POLARSSL_CIPHER_MODE_CBC */
439
#endif
/* POLARSSL_AES_C */
440
441
#if defined(POLARSSL_CAMELLIA_C)
442
#if defined(POLARSSL_CIPHER_MODE_CBC)
443
#if defined(POLARSSL_SHA256_C)
444
{
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
,
"TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256"
,
445
POLARSSL_CIPHER_CAMELLIA_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_DHE_RSA
,
446
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
447
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
448
0 },
449
450
{
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
,
"TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256"
,
451
POLARSSL_CIPHER_CAMELLIA_256_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_DHE_RSA
,
452
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
453
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
454
0 },
455
#endif
/* POLARSSL_SHA256_C */
456
457
#if defined(POLARSSL_SHA1_C)
458
{
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
,
"TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA"
,
459
POLARSSL_CIPHER_CAMELLIA_128_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_DHE_RSA
,
460
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
461
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
462
0 },
463
464
{
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
,
"TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA"
,
465
POLARSSL_CIPHER_CAMELLIA_256_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_DHE_RSA
,
466
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
467
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
468
0 },
469
#endif
/* POLARSSL_SHA1_C */
470
#endif
/* POLARSSL_CIPHER_MODE_CBC */
471
#endif
/* POLARSSL_CAMELLIA_C */
472
473
#if defined(POLARSSL_DES_C)
474
#if defined(POLARSSL_CIPHER_MODE_CBC)
475
#if defined(POLARSSL_SHA1_C)
476
{
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
,
"TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA"
,
477
POLARSSL_CIPHER_DES_EDE3_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_DHE_RSA
,
478
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
479
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
480
0 },
481
#endif
/* POLARSSL_SHA1_C */
482
#endif
/* POLARSSL_CIPHER_MODE_CBC */
483
#endif
/* POLARSSL_DES_C */
484
#endif
/* POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED */
485
486
#if defined(POLARSSL_KEY_EXCHANGE_RSA_ENABLED)
487
#if defined(POLARSSL_AES_C)
488
#if defined(POLARSSL_SHA512_C) && defined(POLARSSL_GCM_C)
489
{
TLS_RSA_WITH_AES_256_GCM_SHA384
,
"TLS-RSA-WITH-AES-256-GCM-SHA384"
,
490
POLARSSL_CIPHER_AES_256_GCM
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_RSA
,
491
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
492
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
493
0 },
494
#endif
/* POLARSSL_SHA512_C && POLARSSL_GCM_C */
495
496
#if defined(POLARSSL_SHA256_C)
497
#if defined(POLARSSL_GCM_C)
498
{
TLS_RSA_WITH_AES_128_GCM_SHA256
,
"TLS-RSA-WITH-AES-128-GCM-SHA256"
,
499
POLARSSL_CIPHER_AES_128_GCM
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_RSA
,
500
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
501
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
502
0 },
503
#endif
/* POLARSSL_GCM_C */
504
505
#if defined(POLARSSL_CIPHER_MODE_CBC)
506
{
TLS_RSA_WITH_AES_128_CBC_SHA256
,
"TLS-RSA-WITH-AES-128-CBC-SHA256"
,
507
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_RSA
,
508
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
509
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
510
0 },
511
512
{
TLS_RSA_WITH_AES_256_CBC_SHA256
,
"TLS-RSA-WITH-AES-256-CBC-SHA256"
,
513
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_RSA
,
514
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
515
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
516
0 },
517
#endif
/* POLARSSL_CIPHER_MODE_CBC */
518
#endif
/* POLARSSL_SHA256_C */
519
520
#if defined(POLARSSL_SHA1_C)
521
#if defined(POLARSSL_CIPHER_MODE_CBC)
522
{
TLS_RSA_WITH_AES_128_CBC_SHA
,
"TLS-RSA-WITH-AES-128-CBC-SHA"
,
523
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_RSA
,
524
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
525
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
526
0 },
527
528
{
TLS_RSA_WITH_AES_256_CBC_SHA
,
"TLS-RSA-WITH-AES-256-CBC-SHA"
,
529
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_RSA
,
530
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
531
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
532
0 },
533
#endif
/* POLARSSL_CIPHER_MODE_CBC */
534
#endif
/* POLARSSL_SHA1_C */
535
#endif
/* POLARSSL_AES_C */
536
537
#if defined(POLARSSL_CAMELLIA_C)
538
#if defined(POLARSSL_CIPHER_MODE_CBC)
539
#if defined(POLARSSL_SHA256_C)
540
{
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
,
"TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256"
,
541
POLARSSL_CIPHER_CAMELLIA_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_RSA
,
542
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
543
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
544
0 },
545
546
{
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
,
"TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256"
,
547
POLARSSL_CIPHER_CAMELLIA_256_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_RSA
,
548
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
549
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
550
0 },
551
#endif
/* POLARSSL_SHA256_C */
552
553
#if defined(POLARSSL_SHA1_C)
554
{
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
,
"TLS-RSA-WITH-CAMELLIA-128-CBC-SHA"
,
555
POLARSSL_CIPHER_CAMELLIA_128_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_RSA
,
556
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
557
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
558
0 },
559
560
{
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
,
"TLS-RSA-WITH-CAMELLIA-256-CBC-SHA"
,
561
POLARSSL_CIPHER_CAMELLIA_256_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_RSA
,
562
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
563
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
564
0 },
565
#endif
/* POLARSSL_SHA1_C */
566
#endif
/* POLARSSL_CIPHER_MODE_CBC */
567
#endif
/* POLARSSL_CAMELLIA_C */
568
569
#if defined(POLARSSL_DES_C)
570
#if defined(POLARSSL_CIPHER_MODE_CBC)
571
#if defined(POLARSSL_SHA1_C)
572
{
TLS_RSA_WITH_3DES_EDE_CBC_SHA
,
"TLS-RSA-WITH-3DES-EDE-CBC-SHA"
,
573
POLARSSL_CIPHER_DES_EDE3_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_RSA
,
574
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
575
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
576
0 },
577
#endif
/* POLARSSL_SHA1_C */
578
#endif
/* POLARSSL_CIPHER_MODE_CBC */
579
#endif
/* POLARSSL_DES_C */
580
581
#if defined(POLARSSL_ARC4_C)
582
#if defined(POLARSSL_MD5_C)
583
{
TLS_RSA_WITH_RC4_128_MD5
,
"TLS-RSA-WITH-RC4-128-MD5"
,
584
POLARSSL_CIPHER_ARC4_128
,
POLARSSL_MD_MD5
,
POLARSSL_KEY_EXCHANGE_RSA
,
585
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
586
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
587
0 },
588
#endif
589
590
#if defined(POLARSSL_SHA1_C)
591
{
TLS_RSA_WITH_RC4_128_SHA
,
"TLS-RSA-WITH-RC4-128-SHA"
,
592
POLARSSL_CIPHER_ARC4_128
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_RSA
,
593
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
594
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
595
0 },
596
#endif
597
#endif
/* POLARSSL_ARC4_C */
598
#endif
/* POLARSSL_KEY_EXCHANGE_RSA_ENABLED */
599
600
#if defined(POLARSSL_KEY_EXCHANGE_PSK_ENABLED)
601
#if defined(POLARSSL_AES_C)
602
#if defined(POLARSSL_GCM_C)
603
#if defined(POLARSSL_SHA256_C)
604
{
TLS_PSK_WITH_AES_128_GCM_SHA256
,
"TLS-PSK-WITH-AES-128-GCM-SHA256"
,
605
POLARSSL_CIPHER_AES_128_GCM
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_PSK
,
606
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
607
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
608
0 },
609
#endif
/* POLARSSL_SHA256_C */
610
611
#if defined(POLARSSL_SHA512_C)
612
{
TLS_PSK_WITH_AES_256_GCM_SHA384
,
"TLS-PSK-WITH-AES-256-GCM-SHA384"
,
613
POLARSSL_CIPHER_AES_256_GCM
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_PSK
,
614
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
615
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
616
0 },
617
#endif
/* POLARSSL_SHA512_C */
618
#endif
/* POLARSSL_GCM_C */
619
620
#if defined(POLARSSL_CIPHER_MODE_CBC)
621
#if defined(POLARSSL_SHA256_C)
622
{
TLS_PSK_WITH_AES_128_CBC_SHA256
,
"TLS-PSK-WITH-AES-128-CBC-SHA256"
,
623
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_PSK
,
624
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
625
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
626
0 },
627
#endif
/* POLARSSL_SHA256_C */
628
629
#if defined(POLARSSL_SHA512_C)
630
{
TLS_PSK_WITH_AES_256_CBC_SHA384
,
"TLS-PSK-WITH-AES-256-CBC-SHA384"
,
631
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_PSK
,
632
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
633
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
634
0 },
635
#endif
/* POLARSSL_SHA512_C */
636
637
#if defined(POLARSSL_SHA1_C)
638
{
TLS_PSK_WITH_AES_128_CBC_SHA
,
"TLS-PSK-WITH-AES-128-CBC-SHA"
,
639
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_PSK
,
640
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
641
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
642
0 },
643
644
{
TLS_PSK_WITH_AES_256_CBC_SHA
,
"TLS-PSK-WITH-AES-256-CBC-SHA"
,
645
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_PSK
,
646
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
647
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
648
0 },
649
#endif
/* POLARSSL_SHA1_C */
650
#endif
/* POLARSSL_CIPHER_MODE_CBC */
651
#endif
/* POLARSSL_AES_C */
652
653
#if defined(POLARSSL_CAMELLIA_C)
654
#if defined(POLARSSL_CIPHER_MODE_CBC)
655
#if defined(POLARSSL_SHA256_C)
656
{
TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
,
"TLS-PSK-WITH-CAMELLIA-128-CBC-SHA256"
,
657
POLARSSL_CIPHER_CAMELLIA_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_PSK
,
658
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
659
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
660
0 },
661
#endif
/* POLARSSL_SHA256_C */
662
663
#if defined(POLARSSL_SHA512_C)
664
{
TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384
,
"TLS-PSK-WITH-CAMELLIA-256-CBC-SHA384"
,
665
POLARSSL_CIPHER_CAMELLIA_256_CBC
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_PSK
,
666
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
667
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
668
0 },
669
#endif
/* POLARSSL_SHA512_C */
670
#endif
/* POLARSSL_CIPHER_MODE_CBC */
671
#endif
/* POLARSSL_CAMELLIA_C */
672
673
#if defined(POLARSSL_DES_C)
674
#if defined(POLARSSL_CIPHER_MODE_CBC)
675
#if defined(POLARSSL_SHA1_C)
676
{
TLS_PSK_WITH_3DES_EDE_CBC_SHA
,
"TLS-PSK-WITH-3DES-EDE-CBC-SHA"
,
677
POLARSSL_CIPHER_DES_EDE3_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_PSK
,
678
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
679
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
680
0 },
681
#endif
/* POLARSSL_SHA1_C */
682
#endif
/* POLARSSL_CIPHER_MODE_CBC */
683
#endif
/* POLARSSL_DES_C */
684
685
#if defined(POLARSSL_ARC4_C)
686
#if defined(POLARSSL_SHA1_C)
687
{
TLS_PSK_WITH_RC4_128_SHA
,
"TLS-PSK-WITH-RC4-128-SHA"
,
688
POLARSSL_CIPHER_ARC4_128
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_PSK
,
689
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
690
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
691
0 },
692
#endif
/* POLARSSL_SHA1_C */
693
#endif
/* POLARSSL_ARC4_C */
694
#endif
/* POLARSSL_KEY_EXCHANGE_PSK_ENABLED */
695
696
#if defined(POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED)
697
#if defined(POLARSSL_AES_C)
698
#if defined(POLARSSL_GCM_C)
699
#if defined(POLARSSL_SHA256_C)
700
{
TLS_DHE_PSK_WITH_AES_128_GCM_SHA256
,
"TLS-DHE-PSK-WITH-AES-128-GCM-SHA256"
,
701
POLARSSL_CIPHER_AES_128_GCM
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_DHE_PSK
,
702
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
703
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
704
0 },
705
#endif
/* POLARSSL_SHA256_C */
706
707
#if defined(POLARSSL_SHA512_C)
708
{
TLS_DHE_PSK_WITH_AES_256_GCM_SHA384
,
"TLS-DHE-PSK-WITH-AES-256-GCM-SHA384"
,
709
POLARSSL_CIPHER_AES_256_GCM
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_DHE_PSK
,
710
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
711
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
712
0 },
713
#endif
/* POLARSSL_SHA512_C */
714
#endif
/* POLARSSL_GCM_C */
715
716
#if defined(POLARSSL_CIPHER_MODE_CBC)
717
#if defined(POLARSSL_SHA256_C)
718
{
TLS_DHE_PSK_WITH_AES_128_CBC_SHA256
,
"TLS-DHE-PSK-WITH-AES-128-CBC-SHA256"
,
719
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_DHE_PSK
,
720
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
721
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
722
0 },
723
#endif
/* POLARSSL_SHA256_C */
724
725
#if defined(POLARSSL_SHA512_C)
726
{
TLS_DHE_PSK_WITH_AES_256_CBC_SHA384
,
"TLS-DHE-PSK-WITH-AES-256-CBC-SHA384"
,
727
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_DHE_PSK
,
728
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
729
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
730
0 },
731
#endif
/* POLARSSL_SHA512_C */
732
733
#if defined(POLARSSL_SHA1_C)
734
{
TLS_DHE_PSK_WITH_AES_128_CBC_SHA
,
"TLS-DHE-PSK-WITH-AES-128-CBC-SHA"
,
735
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_DHE_PSK
,
736
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
737
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
738
0 },
739
740
{
TLS_DHE_PSK_WITH_AES_256_CBC_SHA
,
"TLS-DHE-PSK-WITH-AES-256-CBC-SHA"
,
741
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_DHE_PSK
,
742
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
743
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
744
0 },
745
#endif
/* POLARSSL_SHA1_C */
746
#endif
/* POLARSSL_CIPHER_MODE_CBC */
747
#endif
/* POLARSSL_AES_C */
748
749
#if defined(POLARSSL_CAMELLIA_C)
750
#if defined(POLARSSL_CIPHER_MODE_CBC)
751
#if defined(POLARSSL_SHA256_C)
752
{
TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
,
"TLS-DHE-PSK-WITH-CAMELLIA-128-CBC-SHA256"
,
753
POLARSSL_CIPHER_CAMELLIA_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_DHE_PSK
,
754
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
755
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
756
0 },
757
#endif
/* POLARSSL_SHA256_C */
758
759
#if defined(POLARSSL_SHA512_C)
760
{
TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
,
"TLS-DHE-PSK-WITH-CAMELLIA-256-CBC-SHA384"
,
761
POLARSSL_CIPHER_CAMELLIA_256_CBC
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_DHE_PSK
,
762
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
763
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
764
0 },
765
#endif
/* POLARSSL_SHA512_C */
766
#endif
/* POLARSSL_CIPHER_MODE_CBC */
767
#endif
/* POLARSSL_CAMELLIA_C */
768
769
#if defined(POLARSSL_DES_C)
770
#if defined(POLARSSL_CIPHER_MODE_CBC)
771
#if defined(POLARSSL_SHA1_C)
772
{
TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA
,
"TLS-DHE-PSK-WITH-3DES-EDE-CBC-SHA"
,
773
POLARSSL_CIPHER_DES_EDE3_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_DHE_PSK
,
774
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
775
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
776
0 },
777
#endif
/* POLARSSL_SHA1_C */
778
#endif
/* POLARSSL_CIPHER_MODE_CBC */
779
#endif
/* POLARSSL_DES_C */
780
781
#if defined(POLARSSL_ARC4_C)
782
#if defined(POLARSSL_SHA1_C)
783
{
TLS_DHE_PSK_WITH_RC4_128_SHA
,
"TLS-DHE-PSK-WITH-RC4-128-SHA"
,
784
POLARSSL_CIPHER_ARC4_128
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_DHE_PSK
,
785
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
786
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
787
0 },
788
#endif
/* POLARSSL_SHA1_C */
789
#endif
/* POLARSSL_ARC4_C */
790
#endif
/* POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED */
791
792
#if defined(POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
793
#if defined(POLARSSL_AES_C)
794
795
#if defined(POLARSSL_CIPHER_MODE_CBC)
796
#if defined(POLARSSL_SHA256_C)
797
{
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
,
"TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA256"
,
798
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_ECDHE_PSK
,
799
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
800
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
801
0 },
802
#endif
/* POLARSSL_SHA256_C */
803
804
#if defined(POLARSSL_SHA512_C)
805
{
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384
,
"TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA384"
,
806
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_ECDHE_PSK
,
807
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
808
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
809
0 },
810
#endif
/* POLARSSL_SHA512_C */
811
812
#if defined(POLARSSL_SHA1_C)
813
{
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA
,
"TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA"
,
814
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_ECDHE_PSK
,
815
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
816
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
817
0 },
818
819
{
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA
,
"TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA"
,
820
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_ECDHE_PSK
,
821
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
822
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
823
0 },
824
#endif
/* POLARSSL_SHA1_C */
825
#endif
/* POLARSSL_CIPHER_MODE_CBC */
826
#endif
/* POLARSSL_AES_C */
827
828
#if defined(POLARSSL_CAMELLIA_C)
829
#if defined(POLARSSL_CIPHER_MODE_CBC)
830
#if defined(POLARSSL_SHA256_C)
831
{
TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
,
"TLS-ECDHE-PSK-WITH-CAMELLIA-128-CBC-SHA256"
,
832
POLARSSL_CIPHER_CAMELLIA_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_ECDHE_PSK
,
833
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
834
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
835
0 },
836
#endif
/* POLARSSL_SHA256_C */
837
838
#if defined(POLARSSL_SHA512_C)
839
{
TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
,
"TLS-ECDHE-PSK-WITH-CAMELLIA-256-CBC-SHA384"
,
840
POLARSSL_CIPHER_CAMELLIA_256_CBC
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_ECDHE_PSK
,
841
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
842
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
843
0 },
844
#endif
/* POLARSSL_SHA512_C */
845
#endif
/* POLARSSL_CIPHER_MODE_CBC */
846
#endif
/* POLARSSL_CAMELLIA_C */
847
848
#if defined(POLARSSL_DES_C)
849
#if defined(POLARSSL_CIPHER_MODE_CBC)
850
#if defined(POLARSSL_SHA1_C)
851
{
TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
,
"TLS-ECDHE-PSK-WITH-3DES-EDE-CBC-SHA"
,
852
POLARSSL_CIPHER_DES_EDE3_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_ECDHE_PSK
,
853
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
854
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
855
0 },
856
#endif
/* POLARSSL_SHA1_C */
857
#endif
/* POLARSSL_CIPHER_MODE_CBC */
858
#endif
/* POLARSSL_DES_C */
859
860
#if defined(POLARSSL_ARC4_C)
861
#if defined(POLARSSL_SHA1_C)
862
{
TLS_ECDHE_PSK_WITH_RC4_128_SHA
,
"TLS-ECDHE-PSK-WITH-RC4-128-SHA"
,
863
POLARSSL_CIPHER_ARC4_128
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_ECDHE_PSK
,
864
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
865
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
866
0 },
867
#endif
/* POLARSSL_SHA1_C */
868
#endif
/* POLARSSL_ARC4_C */
869
#endif
/* POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
870
871
#if defined(POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED)
872
#if defined(POLARSSL_AES_C)
873
#if defined(POLARSSL_GCM_C)
874
#if defined(POLARSSL_SHA256_C)
875
{
TLS_RSA_PSK_WITH_AES_128_GCM_SHA256
,
"TLS-RSA-PSK-WITH-AES-128-GCM-SHA256"
,
876
POLARSSL_CIPHER_AES_128_GCM
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_RSA_PSK
,
877
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
878
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
879
0 },
880
#endif
/* POLARSSL_SHA256_C */
881
882
#if defined(POLARSSL_SHA512_C)
883
{
TLS_RSA_PSK_WITH_AES_256_GCM_SHA384
,
"TLS-RSA-PSK-WITH-AES-256-GCM-SHA384"
,
884
POLARSSL_CIPHER_AES_256_GCM
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_RSA_PSK
,
885
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
886
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
887
0 },
888
#endif
/* POLARSSL_SHA512_C */
889
#endif
/* POLARSSL_GCM_C */
890
891
#if defined(POLARSSL_CIPHER_MODE_CBC)
892
#if defined(POLARSSL_SHA256_C)
893
{
TLS_RSA_PSK_WITH_AES_128_CBC_SHA256
,
"TLS-RSA-PSK-WITH-AES-128-CBC-SHA256"
,
894
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_RSA_PSK
,
895
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
896
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
897
0 },
898
#endif
/* POLARSSL_SHA256_C */
899
900
#if defined(POLARSSL_SHA512_C)
901
{
TLS_RSA_PSK_WITH_AES_256_CBC_SHA384
,
"TLS-RSA-PSK-WITH-AES-256-CBC-SHA384"
,
902
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_RSA_PSK
,
903
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
904
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
905
0 },
906
#endif
/* POLARSSL_SHA512_C */
907
908
#if defined(POLARSSL_SHA1_C)
909
{
TLS_RSA_PSK_WITH_AES_128_CBC_SHA
,
"TLS-RSA-PSK-WITH-AES-128-CBC-SHA"
,
910
POLARSSL_CIPHER_AES_128_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_RSA_PSK
,
911
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
912
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
913
0 },
914
915
{
TLS_RSA_PSK_WITH_AES_256_CBC_SHA
,
"TLS-RSA-PSK-WITH-AES-256-CBC-SHA"
,
916
POLARSSL_CIPHER_AES_256_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_RSA_PSK
,
917
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
918
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
919
0 },
920
#endif
/* POLARSSL_SHA1_C */
921
#endif
/* POLARSSL_CIPHER_MODE_CBC */
922
#endif
/* POLARSSL_AES_C */
923
924
#if defined(POLARSSL_CAMELLIA_C)
925
#if defined(POLARSSL_CIPHER_MODE_CBC)
926
#if defined(POLARSSL_SHA256_C)
927
{
TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256
,
"TLS-RSA-PSK-WITH-CAMELLIA-128-CBC-SHA256"
,
928
POLARSSL_CIPHER_CAMELLIA_128_CBC
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_RSA_PSK
,
929
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
930
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
931
0 },
932
#endif
/* POLARSSL_SHA256_C */
933
934
#if defined(POLARSSL_SHA512_C)
935
{
TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384
,
"TLS-RSA-PSK-WITH-CAMELLIA-256-CBC-SHA384"
,
936
POLARSSL_CIPHER_CAMELLIA_256_CBC
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_RSA_PSK
,
937
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
938
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
939
0 },
940
#endif
/* POLARSSL_SHA512_C */
941
#endif
/* POLARSSL_CIPHER_MODE_CBC */
942
#endif
/* POLARSSL_CAMELLIA_C */
943
944
#if defined(POLARSSL_DES_C)
945
#if defined(POLARSSL_CIPHER_MODE_CBC)
946
#if defined(POLARSSL_SHA1_C)
947
{
TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
,
"TLS-RSA-PSK-WITH-3DES-EDE-CBC-SHA"
,
948
POLARSSL_CIPHER_DES_EDE3_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_RSA_PSK
,
949
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
950
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
951
0 },
952
#endif
/* POLARSSL_SHA1_C */
953
#endif
/* POLARSSL_CIPHER_MODE_CBC */
954
#endif
/* POLARSSL_DES_C */
955
956
#if defined(POLARSSL_ARC4_C)
957
#if defined(POLARSSL_SHA1_C)
958
{
TLS_RSA_PSK_WITH_RC4_128_SHA
,
"TLS-RSA-PSK-WITH-RC4-128-SHA"
,
959
POLARSSL_CIPHER_ARC4_128
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_RSA_PSK
,
960
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
961
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
962
0 },
963
#endif
/* POLARSSL_SHA1_C */
964
#endif
/* POLARSSL_ARC4_C */
965
#endif
/* POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED */
966
967
#if defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES)
968
#if defined(POLARSSL_CIPHER_NULL_CIPHER)
969
#if defined(POLARSSL_KEY_EXCHANGE_RSA_ENABLED)
970
#if defined(POLARSSL_MD5_C)
971
{
TLS_RSA_WITH_NULL_MD5
,
"TLS-RSA-WITH-NULL-MD5"
,
972
POLARSSL_CIPHER_NULL
,
POLARSSL_MD_MD5
,
POLARSSL_KEY_EXCHANGE_RSA
,
973
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
974
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
975
POLARSSL_CIPHERSUITE_WEAK
},
976
#endif
977
978
#if defined(POLARSSL_SHA1_C)
979
{
TLS_RSA_WITH_NULL_SHA
,
"TLS-RSA-WITH-NULL-SHA"
,
980
POLARSSL_CIPHER_NULL
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_RSA
,
981
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
982
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
983
POLARSSL_CIPHERSUITE_WEAK
},
984
#endif
985
986
#if defined(POLARSSL_SHA256_C)
987
{
TLS_RSA_WITH_NULL_SHA256
,
"TLS-RSA-WITH-NULL-SHA256"
,
988
POLARSSL_CIPHER_NULL
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_RSA
,
989
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
990
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
991
POLARSSL_CIPHERSUITE_WEAK
},
992
#endif
993
#endif
/* POLARSSL_KEY_EXCHANGE_RSA_ENABLED */
994
995
#if defined(POLARSSL_KEY_EXCHANGE_PSK_ENABLED)
996
#if defined(POLARSSL_SHA1_C)
997
{
TLS_PSK_WITH_NULL_SHA
,
"TLS-PSK-WITH-NULL-SHA"
,
998
POLARSSL_CIPHER_NULL
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_PSK
,
999
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
1000
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
1001
POLARSSL_CIPHERSUITE_WEAK
},
1002
#endif
/* POLARSSL_SHA1_C */
1003
#endif
/* POLARSSL_KEY_EXCHANGE_PSK_ENABLED */
1004
1005
#if defined(POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED)
1006
#if defined(POLARSSL_SHA1_C)
1007
{
TLS_DHE_PSK_WITH_NULL_SHA
,
"TLS-DHE-PSK-WITH-NULL-SHA"
,
1008
POLARSSL_CIPHER_NULL
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_DHE_PSK
,
1009
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
1010
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
1011
POLARSSL_CIPHERSUITE_WEAK
},
1012
#endif
/* POLARSSL_SHA1_C */
1013
#endif
/* POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED */
1014
1015
#if defined(POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
1016
#if defined(POLARSSL_SHA1_C)
1017
{
TLS_ECDHE_PSK_WITH_NULL_SHA
,
"TLS-ECDHE-PSK-WITH-NULL-SHA"
,
1018
POLARSSL_CIPHER_NULL
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_ECDHE_PSK
,
1019
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
1020
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
1021
POLARSSL_CIPHERSUITE_WEAK
},
1022
#endif
/* POLARSSL_SHA1_C */
1023
1024
#if defined(POLARSSL_SHA256_C)
1025
{
TLS_ECDHE_PSK_WITH_NULL_SHA256
,
"TLS-ECDHE-PSK-WITH-NULL-SHA256"
,
1026
POLARSSL_CIPHER_NULL
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_ECDHE_PSK
,
1027
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
1028
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
1029
POLARSSL_CIPHERSUITE_WEAK
},
1030
#endif
1031
1032
#if defined(POLARSSL_SHA512_C)
1033
{
TLS_ECDHE_PSK_WITH_NULL_SHA384
,
"TLS-ECDHE-PSK-WITH-NULL-SHA384"
,
1034
POLARSSL_CIPHER_NULL
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_ECDHE_PSK
,
1035
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
1036
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
1037
POLARSSL_CIPHERSUITE_WEAK
},
1038
#endif
1039
#endif
/* POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
1040
1041
#if defined(POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED)
1042
#if defined(POLARSSL_SHA1_C)
1043
{
TLS_RSA_PSK_WITH_NULL_SHA
,
"TLS-RSA-PSK-WITH-NULL-SHA"
,
1044
POLARSSL_CIPHER_NULL
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_RSA_PSK
,
1045
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
1046
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
1047
POLARSSL_CIPHERSUITE_WEAK
},
1048
#endif
/* POLARSSL_SHA1_C */
1049
1050
#if defined(POLARSSL_SHA256_C)
1051
{
TLS_RSA_PSK_WITH_NULL_SHA256
,
"TLS-RSA-PSK-WITH-AES-128-CBC-SHA256"
,
1052
POLARSSL_CIPHER_NULL
,
POLARSSL_MD_SHA256
,
POLARSSL_KEY_EXCHANGE_RSA_PSK
,
1053
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
1054
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
1055
POLARSSL_CIPHERSUITE_WEAK
},
1056
#endif
/* POLARSSL_SHA256_C */
1057
1058
#if defined(POLARSSL_SHA512_C)
1059
{
TLS_RSA_PSK_WITH_NULL_SHA384
,
"TLS-RSA-PSK-WITH-AES-256-CBC-SHA384"
,
1060
POLARSSL_CIPHER_NULL
,
POLARSSL_MD_SHA384
,
POLARSSL_KEY_EXCHANGE_RSA_PSK
,
1061
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
1062
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
1063
POLARSSL_CIPHERSUITE_WEAK
},
1064
#endif
/* POLARSSL_SHA512_C */
1065
#endif
/* POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED */
1066
#endif
/* POLARSSL_CIPHER_NULL_CIPHER */
1067
1068
#if defined(POLARSSL_DES_C)
1069
#if defined(POLARSSL_CIPHER_MODE_CBC)
1070
#if defined(POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED)
1071
#if defined(POLARSSL_SHA1_C)
1072
{
TLS_DHE_RSA_WITH_DES_CBC_SHA
,
"TLS-DHE-RSA-WITH-DES-CBC-SHA"
,
1073
POLARSSL_CIPHER_DES_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_DHE_RSA
,
1074
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
1075
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
1076
POLARSSL_CIPHERSUITE_WEAK
},
1077
#endif
/* POLARSSL_SHA1_C */
1078
#endif
/* POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED */
1079
1080
#if defined(POLARSSL_KEY_EXCHANGE_RSA_ENABLED)
1081
#if defined(POLARSSL_SHA1_C)
1082
{
TLS_RSA_WITH_DES_CBC_SHA
,
"TLS-RSA-WITH-DES-CBC-SHA"
,
1083
POLARSSL_CIPHER_DES_CBC
,
POLARSSL_MD_SHA1
,
POLARSSL_KEY_EXCHANGE_RSA
,
1084
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_0
,
1085
SSL_MAJOR_VERSION_3
,
SSL_MINOR_VERSION_3
,
1086
POLARSSL_CIPHERSUITE_WEAK
},
1087
#endif
/* POLARSSL_SHA1_C */
1088
#endif
/* POLARSSL_KEY_EXCHANGE_RSA_ENABLED */
1089
#endif
/* POLARSSL_CIPHER_MODE_CBC */
1090
#endif
/* POLARSSL_DES_C */
1091
#endif
/* POLARSSL_ENABLE_WEAK_CIPHERSUITES */
1092
1093
{ 0,
""
, 0, 0, 0, 0, 0, 0, 0, 0 }
1094
};
1095
1096
const
int
*
ssl_list_ciphersuites
(
void
)
1097
{
1098
/*
1099
* On initial call filter out all ciphersuites not supported by current
1100
* build based on presence in the ciphersuite_definitions.
1101
*/
1102
if
( supported_init == 0 )
1103
{
1104
const
int
*p = ciphersuite_preference;
1105
int
*q = supported_ciphersuites;
1106
size_t
i;
1107
size_t
max =
sizeof
(supported_ciphersuites) /
sizeof
(
int
);
1108
1109
for
( i = 0; i < max - 1 && p[i] != 0; i++ )
1110
{
1111
if
(
ssl_ciphersuite_from_id
( p[i] ) != NULL )
1112
*(q++) = p[i];
1113
}
1114
*q = 0;
1115
1116
supported_init = 1;
1117
}
1118
1119
return
supported_ciphersuites;
1120
};
1121
1122
const
ssl_ciphersuite_t
*
ssl_ciphersuite_from_string
(
const
char
*ciphersuite_name )
1123
{
1124
const
ssl_ciphersuite_t
*cur = ciphersuite_definitions;
1125
1126
if
( NULL == ciphersuite_name )
1127
return
( NULL );
1128
1129
while
( cur->
id
!= 0 )
1130
{
1131
if
( 0 == strcasecmp( cur->
name
, ciphersuite_name ) )
1132
return
( cur );
1133
1134
cur++;
1135
}
1136
1137
return
( NULL );
1138
}
1139
1140
const
ssl_ciphersuite_t
*
ssl_ciphersuite_from_id
(
int
ciphersuite )
1141
{
1142
const
ssl_ciphersuite_t
*cur = ciphersuite_definitions;
1143
1144
while
( cur->
id
!= 0 )
1145
{
1146
if
( cur->
id
== ciphersuite )
1147
return
( cur );
1148
1149
cur++;
1150
}
1151
1152
return
( NULL );
1153
}
1154
1155
const
char
*
ssl_get_ciphersuite_name
(
const
int
ciphersuite_id )
1156
{
1157
const
ssl_ciphersuite_t
*cur;
1158
1159
cur =
ssl_ciphersuite_from_id
( ciphersuite_id );
1160
1161
if
( cur == NULL )
1162
return
(
"unknown"
);
1163
1164
return
( cur->
name
);
1165
}
1166
1167
int
ssl_get_ciphersuite_id
(
const
char
*ciphersuite_name )
1168
{
1169
const
ssl_ciphersuite_t
*cur;
1170
1171
cur =
ssl_ciphersuite_from_string
( ciphersuite_name );
1172
1173
if
( cur == NULL )
1174
return
( 0 );
1175
1176
return
( cur->
id
);
1177
}
1178
1179
#if defined(POLARSSL_PK_C)
1180
pk_type_t
ssl_get_ciphersuite_sig_pk_alg
(
const
ssl_ciphersuite_t
*info )
1181
{
1182
switch
( info->
key_exchange
)
1183
{
1184
case
POLARSSL_KEY_EXCHANGE_RSA
:
1185
case
POLARSSL_KEY_EXCHANGE_DHE_RSA
:
1186
case
POLARSSL_KEY_EXCHANGE_ECDHE_RSA
:
1187
case
POLARSSL_KEY_EXCHANGE_RSA_PSK
:
1188
return
(
POLARSSL_PK_RSA
);
1189
1190
case
POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA
:
1191
return
(
POLARSSL_PK_ECDSA
);
1192
1193
default
:
1194
return
(
POLARSSL_PK_NONE
);
1195
}
1196
}
1197
#endif
1198
1199
int
ssl_ciphersuite_uses_ec
(
const
ssl_ciphersuite_t
*info )
1200
{
1201
switch
( info->
key_exchange
)
1202
{
1203
case
POLARSSL_KEY_EXCHANGE_ECDHE_RSA
:
1204
case
POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA
:
1205
case
POLARSSL_KEY_EXCHANGE_ECDHE_PSK
:
1206
return
( 1 );
1207
1208
default
:
1209
return
( 0 );
1210
}
1211
}
1212
1213
#endif
Generated on Fri Nov 22 2013 08:28:27 for PolarSSL v1.3.1 by
1.8.3