1817466cbSJens Wiklander /**
2817466cbSJens Wiklander * \file ssl_ciphersuites.c
3817466cbSJens Wiklander *
4*b0563631STom Van Eyck * \brief SSL ciphersuites for Mbed TLS
5817466cbSJens Wiklander *
67901324dSJerome Forissier * Copyright The Mbed TLS Contributors
7*b0563631STom Van Eyck * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
8817466cbSJens Wiklander */
9817466cbSJens Wiklander
107901324dSJerome Forissier #include "common.h"
11817466cbSJens Wiklander
12817466cbSJens Wiklander #if defined(MBEDTLS_SSL_TLS_C)
13817466cbSJens Wiklander
14817466cbSJens Wiklander #include "mbedtls/platform.h"
15817466cbSJens Wiklander
16817466cbSJens Wiklander #include "mbedtls/ssl_ciphersuites.h"
17817466cbSJens Wiklander #include "mbedtls/ssl.h"
1832b31808SJens Wiklander #include "ssl_misc.h"
19*b0563631STom Van Eyck #if defined(MBEDTLS_USE_PSA_CRYPTO)
20*b0563631STom Van Eyck #include "mbedtls/psa_util.h"
21*b0563631STom Van Eyck #endif
22817466cbSJens Wiklander
23817466cbSJens Wiklander #include <string.h>
24817466cbSJens Wiklander
25817466cbSJens Wiklander /*
26817466cbSJens Wiklander * Ordered from most preferred to least preferred in terms of security.
27817466cbSJens Wiklander *
2832b31808SJens Wiklander * Current rule (except weak and null which come last):
29817466cbSJens Wiklander * 1. By key exchange:
30817466cbSJens Wiklander * Forward-secure non-PSK > forward-secure PSK > ECJPAKE > other non-PSK > other PSK
31817466cbSJens Wiklander * 2. By key length and cipher:
325b25c76aSJerome Forissier * ChaCha > AES-256 > Camellia-256 > ARIA-256 > AES-128 > Camellia-128 > ARIA-128
33817466cbSJens Wiklander * 3. By cipher mode when relevant GCM > CCM > CBC > CCM_8
34817466cbSJens Wiklander * 4. By hash function used when relevant
35817466cbSJens Wiklander * 5. By key exchange/auth again: EC > non-EC
36817466cbSJens Wiklander */
37817466cbSJens Wiklander static const int ciphersuite_preference[] =
38817466cbSJens Wiklander {
39817466cbSJens Wiklander #if defined(MBEDTLS_SSL_CIPHERSUITES)
40817466cbSJens Wiklander MBEDTLS_SSL_CIPHERSUITES,
41817466cbSJens Wiklander #else
4232b31808SJens Wiklander #if defined(MBEDTLS_SSL_PROTO_TLS1_3)
4332b31808SJens Wiklander /* TLS 1.3 ciphersuites */
4432b31808SJens Wiklander MBEDTLS_TLS1_3_CHACHA20_POLY1305_SHA256,
4532b31808SJens Wiklander MBEDTLS_TLS1_3_AES_256_GCM_SHA384,
4632b31808SJens Wiklander MBEDTLS_TLS1_3_AES_128_GCM_SHA256,
4732b31808SJens Wiklander MBEDTLS_TLS1_3_AES_128_CCM_SHA256,
4832b31808SJens Wiklander MBEDTLS_TLS1_3_AES_128_CCM_8_SHA256,
4932b31808SJens Wiklander #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */
5032b31808SJens Wiklander
513d3b0591SJens Wiklander /* Chacha-Poly ephemeral suites */
523d3b0591SJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
533d3b0591SJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
543d3b0591SJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
553d3b0591SJens Wiklander
56817466cbSJens Wiklander /* All AES-256 ephemeral suites */
57817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
58817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
59817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
60817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM,
61817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM,
62817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
63817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
64817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
65817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
66817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
67817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
68817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8,
69817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8,
70817466cbSJens Wiklander
71817466cbSJens Wiklander /* All CAMELLIA-256 ephemeral suites */
72817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
73817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
74817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
75817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
76817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
77817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
78817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
79817466cbSJens Wiklander
803d3b0591SJens Wiklander /* All ARIA-256 ephemeral suites */
813d3b0591SJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
823d3b0591SJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
833d3b0591SJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
843d3b0591SJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,
853d3b0591SJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,
863d3b0591SJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,
873d3b0591SJens Wiklander
88817466cbSJens Wiklander /* All AES-128 ephemeral suites */
89817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
90817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
91817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
92817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM,
93817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM,
94817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
95817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
96817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
97817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
98817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
99817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
100817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8,
101817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8,
102817466cbSJens Wiklander
103817466cbSJens Wiklander /* All CAMELLIA-128 ephemeral suites */
104817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
105817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
106817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
107817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
108817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
109817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
110817466cbSJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
111817466cbSJens Wiklander
1123d3b0591SJens Wiklander /* All ARIA-128 ephemeral suites */
1133d3b0591SJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
1143d3b0591SJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
1153d3b0591SJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
1163d3b0591SJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,
1173d3b0591SJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,
1183d3b0591SJens Wiklander MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,
1193d3b0591SJens Wiklander
120817466cbSJens Wiklander /* The PSK ephemeral suites */
1213d3b0591SJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
1223d3b0591SJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
123817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384,
124817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM,
125817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
126817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384,
127817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA,
128817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA,
129817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384,
130817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
131817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
132817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8,
1333d3b0591SJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
1343d3b0591SJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384,
1353d3b0591SJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384,
136817466cbSJens Wiklander
137817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256,
138817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM,
139817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
140817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256,
141817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA,
142817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA,
143817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256,
144817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
145817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
146817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8,
1473d3b0591SJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
1483d3b0591SJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256,
1493d3b0591SJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256,
150817466cbSJens Wiklander
151817466cbSJens Wiklander /* The ECJPAKE suite */
152817466cbSJens Wiklander MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8,
153817466cbSJens Wiklander
154817466cbSJens Wiklander /* All AES-256 suites */
155817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384,
156817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_256_CCM,
157817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256,
158817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA,
159817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,
160817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,
161817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
162817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
163817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,
164817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
165817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8,
166817466cbSJens Wiklander
167817466cbSJens Wiklander /* All CAMELLIA-256 suites */
168817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384,
169817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256,
170817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA,
171817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384,
172817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,
173817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
174817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
175817466cbSJens Wiklander
1763d3b0591SJens Wiklander /* All ARIA-256 suites */
1773d3b0591SJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384,
1783d3b0591SJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384,
1793d3b0591SJens Wiklander MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384,
1803d3b0591SJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384,
1813d3b0591SJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384,
1823d3b0591SJens Wiklander MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384,
1833d3b0591SJens Wiklander
184817466cbSJens Wiklander /* All AES-128 suites */
185817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256,
186817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_128_CCM,
187817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256,
188817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA,
189817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,
190817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,
191817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
192817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
193817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,
194817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
195817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8,
196817466cbSJens Wiklander
197817466cbSJens Wiklander /* All CAMELLIA-128 suites */
198817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256,
199817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256,
200817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA,
201817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256,
202817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
203817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
204817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
205817466cbSJens Wiklander
2063d3b0591SJens Wiklander /* All ARIA-128 suites */
2073d3b0591SJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256,
2083d3b0591SJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256,
2093d3b0591SJens Wiklander MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256,
2103d3b0591SJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256,
2113d3b0591SJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256,
2123d3b0591SJens Wiklander MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256,
2133d3b0591SJens Wiklander
214817466cbSJens Wiklander /* The RSA PSK suites */
2153d3b0591SJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256,
216817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384,
217817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384,
218817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA,
219817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384,
220817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
2213d3b0591SJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
2223d3b0591SJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384,
223817466cbSJens Wiklander
224817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256,
225817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256,
226817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA,
227817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256,
228817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
2293d3b0591SJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
2303d3b0591SJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256,
231817466cbSJens Wiklander
232817466cbSJens Wiklander /* The PSK suites */
2333d3b0591SJens Wiklander MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256,
234817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384,
235817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_256_CCM,
236817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384,
237817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA,
238817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384,
239817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384,
240817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8,
2413d3b0591SJens Wiklander MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384,
2423d3b0591SJens Wiklander MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384,
243817466cbSJens Wiklander
244817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256,
245817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_128_CCM,
246817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256,
247817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA,
248817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256,
249817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256,
250817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8,
2513d3b0591SJens Wiklander MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256,
2523d3b0591SJens Wiklander MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256,
253817466cbSJens Wiklander
254817466cbSJens Wiklander /* NULL suites */
255817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA,
256817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA,
257817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384,
258817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256,
259817466cbSJens Wiklander MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA,
260817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384,
261817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256,
262817466cbSJens Wiklander MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA,
263817466cbSJens Wiklander
264817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_NULL_SHA256,
265817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_NULL_SHA,
266817466cbSJens Wiklander MBEDTLS_TLS_RSA_WITH_NULL_MD5,
267817466cbSJens Wiklander MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA,
268817466cbSJens Wiklander MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA,
269817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384,
270817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256,
271817466cbSJens Wiklander MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA,
272817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_NULL_SHA384,
273817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_NULL_SHA256,
274817466cbSJens Wiklander MBEDTLS_TLS_PSK_WITH_NULL_SHA,
275817466cbSJens Wiklander
276817466cbSJens Wiklander #endif /* MBEDTLS_SSL_CIPHERSUITES */
277817466cbSJens Wiklander 0
278817466cbSJens Wiklander };
279817466cbSJens Wiklander
280817466cbSJens Wiklander static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] =
281817466cbSJens Wiklander {
28232b31808SJens Wiklander #if defined(MBEDTLS_SSL_PROTO_TLS1_3)
283*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_AES)
284*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
285*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
28632b31808SJens Wiklander { MBEDTLS_TLS1_3_AES_256_GCM_SHA384, "TLS1-3-AES-256-GCM-SHA384",
28732b31808SJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384,
28832b31808SJens Wiklander MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */
28932b31808SJens Wiklander 0,
29032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 },
291*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
292*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
29332b31808SJens Wiklander { MBEDTLS_TLS1_3_AES_128_GCM_SHA256, "TLS1-3-AES-128-GCM-SHA256",
29432b31808SJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256,
29532b31808SJens Wiklander MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */
29632b31808SJens Wiklander 0,
29732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 },
298*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
299*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
300*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CCM) && defined(MBEDTLS_MD_CAN_SHA256)
30132b31808SJens Wiklander { MBEDTLS_TLS1_3_AES_128_CCM_SHA256, "TLS1-3-AES-128-CCM-SHA256",
30232b31808SJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256,
30332b31808SJens Wiklander MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */
30432b31808SJens Wiklander 0,
30532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 },
30632b31808SJens Wiklander { MBEDTLS_TLS1_3_AES_128_CCM_8_SHA256, "TLS1-3-AES-128-CCM-8-SHA256",
30732b31808SJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256,
30832b31808SJens Wiklander MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */
30932b31808SJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG,
31032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 },
311*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 && MBEDTLS_SSL_HAVE_CCM */
312*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_AES */
313*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CHACHAPOLY) && defined(MBEDTLS_MD_CAN_SHA256)
31432b31808SJens Wiklander { MBEDTLS_TLS1_3_CHACHA20_POLY1305_SHA256,
31532b31808SJens Wiklander "TLS1-3-CHACHA20-POLY1305-SHA256",
31632b31808SJens Wiklander MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
31732b31808SJens Wiklander MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */
31832b31808SJens Wiklander 0,
31932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 },
320*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CHACHAPOLY && MBEDTLS_MD_CAN_SHA256 */
32132b31808SJens Wiklander #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */
32232b31808SJens Wiklander
323*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CHACHAPOLY) && \
324*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA256) && \
3253d3b0591SJens Wiklander defined(MBEDTLS_SSL_PROTO_TLS1_2)
3263d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
3273d3b0591SJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
3283d3b0591SJens Wiklander "TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256",
3293d3b0591SJens Wiklander MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3303d3b0591SJens Wiklander MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
33132b31808SJens Wiklander 0,
33232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
3333d3b0591SJens Wiklander #endif
3343d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
3353d3b0591SJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
3363d3b0591SJens Wiklander "TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256",
3373d3b0591SJens Wiklander MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3383d3b0591SJens Wiklander MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
33932b31808SJens Wiklander 0,
34032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
3413d3b0591SJens Wiklander #endif
3423d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
3433d3b0591SJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
3443d3b0591SJens Wiklander "TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256",
3453d3b0591SJens Wiklander MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3463d3b0591SJens Wiklander MBEDTLS_KEY_EXCHANGE_DHE_RSA,
34732b31808SJens Wiklander 0,
34832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
3493d3b0591SJens Wiklander #endif
3503d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
3513d3b0591SJens Wiklander { MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256,
3523d3b0591SJens Wiklander "TLS-PSK-WITH-CHACHA20-POLY1305-SHA256",
3533d3b0591SJens Wiklander MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3543d3b0591SJens Wiklander MBEDTLS_KEY_EXCHANGE_PSK,
35532b31808SJens Wiklander 0,
35632b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
3573d3b0591SJens Wiklander #endif
3583d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
3593d3b0591SJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
3603d3b0591SJens Wiklander "TLS-ECDHE-PSK-WITH-CHACHA20-POLY1305-SHA256",
3613d3b0591SJens Wiklander MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3623d3b0591SJens Wiklander MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
36332b31808SJens Wiklander 0,
36432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
3653d3b0591SJens Wiklander #endif
3663d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
3673d3b0591SJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
3683d3b0591SJens Wiklander "TLS-DHE-PSK-WITH-CHACHA20-POLY1305-SHA256",
3693d3b0591SJens Wiklander MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3703d3b0591SJens Wiklander MBEDTLS_KEY_EXCHANGE_DHE_PSK,
37132b31808SJens Wiklander 0,
37232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
3733d3b0591SJens Wiklander #endif
3743d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
3753d3b0591SJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256,
3763d3b0591SJens Wiklander "TLS-RSA-PSK-WITH-CHACHA20-POLY1305-SHA256",
3773d3b0591SJens Wiklander MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3783d3b0591SJens Wiklander MBEDTLS_KEY_EXCHANGE_RSA_PSK,
37932b31808SJens Wiklander 0,
38032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
3813d3b0591SJens Wiklander #endif
382*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CHACHAPOLY &&
383*b0563631STom Van Eyck MBEDTLS_MD_CAN_SHA256 &&
3843d3b0591SJens Wiklander MBEDTLS_SSL_PROTO_TLS1_2 */
385817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
386*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_AES)
387*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
388*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
389817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA",
390817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
39132b31808SJens Wiklander 0,
39232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
393817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA",
394817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
39532b31808SJens Wiklander 0,
39632b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
397*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
398*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
399*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
400*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
401817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256",
402817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
40332b31808SJens Wiklander 0,
40432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
405*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
406*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
407817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256",
408817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
40932b31808SJens Wiklander 0,
41032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
411*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
412*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
413*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
414*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
415817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384",
416817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
41732b31808SJens Wiklander 0,
41832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
419*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
420*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
421817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384",
422817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
42332b31808SJens Wiklander 0,
42432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
425*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
426*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
427*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CCM)
428817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM",
429817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
43032b31808SJens Wiklander 0,
43132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
432817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM-8",
433817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
43432b31808SJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG,
43532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
436817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM",
437817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
43832b31808SJens Wiklander 0,
43932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
440817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8",
441817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
44232b31808SJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG,
44332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
444*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CCM */
445*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_AES */
446817466cbSJens Wiklander
447*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CAMELLIA)
448*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
449*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
45032b31808SJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
45132b31808SJens Wiklander "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-CBC-SHA256",
452817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
45332b31808SJens Wiklander 0,
45432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
455*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
456*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
45732b31808SJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
45832b31808SJens Wiklander "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-CBC-SHA384",
459817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
46032b31808SJens Wiklander 0,
46132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
462*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
463*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
464817466cbSJens Wiklander
465*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
466*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
46732b31808SJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
46832b31808SJens Wiklander "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-GCM-SHA256",
469817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
47032b31808SJens Wiklander 0,
47132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
472*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
473*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
47432b31808SJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
47532b31808SJens Wiklander "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-GCM-SHA384",
476817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
47732b31808SJens Wiklander 0,
47832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
479*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
480*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
481*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CAMELLIA */
482817466cbSJens Wiklander
483817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
484*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
485817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA, "TLS-ECDHE-ECDSA-WITH-NULL-SHA",
486817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
48732b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
48832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
489*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
490817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
491817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
492817466cbSJens Wiklander
493817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
494*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_AES)
495*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
496*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
497817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA",
498817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
49932b31808SJens Wiklander 0,
50032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
501817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA",
502817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
50332b31808SJens Wiklander 0,
50432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
505*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
506*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
507*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
508*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
509817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256",
510817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
51132b31808SJens Wiklander 0,
51232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
513*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
514*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
515817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256",
516817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
51732b31808SJens Wiklander 0,
51832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
519*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
520*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
521*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
522*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
523817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384",
524817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
52532b31808SJens Wiklander 0,
52632b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
527*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
528*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
529817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384",
530817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
53132b31808SJens Wiklander 0,
53232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
533*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
534*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
535*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_AES */
536817466cbSJens Wiklander
537*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CAMELLIA)
538*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
539*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
54032b31808SJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
54132b31808SJens Wiklander "TLS-ECDHE-RSA-WITH-CAMELLIA-128-CBC-SHA256",
542817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
54332b31808SJens Wiklander 0,
54432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
545*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
546*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
54732b31808SJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
54832b31808SJens Wiklander "TLS-ECDHE-RSA-WITH-CAMELLIA-256-CBC-SHA384",
549817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
55032b31808SJens Wiklander 0,
55132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
552*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
553*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
554817466cbSJens Wiklander
555*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
556*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
55732b31808SJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
55832b31808SJens Wiklander "TLS-ECDHE-RSA-WITH-CAMELLIA-128-GCM-SHA256",
559817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
56032b31808SJens Wiklander 0,
56132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
562*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
563*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
56432b31808SJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
56532b31808SJens Wiklander "TLS-ECDHE-RSA-WITH-CAMELLIA-256-GCM-SHA384",
566817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
56732b31808SJens Wiklander 0,
56832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
569*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
570*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
571*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CAMELLIA */
572817466cbSJens Wiklander
573817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
574*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
575817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA, "TLS-ECDHE-RSA-WITH-NULL-SHA",
576817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
57732b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
57832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
579*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
580817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
581817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
582817466cbSJens Wiklander
583817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
584*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_AES)
585*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384) && \
586*b0563631STom Van Eyck defined(MBEDTLS_SSL_HAVE_GCM)
587817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-DHE-RSA-WITH-AES-256-GCM-SHA384",
588817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
58932b31808SJens Wiklander 0,
59032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
591*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 && MBEDTLS_SSL_HAVE_GCM */
592817466cbSJens Wiklander
593*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
594*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
595817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-DHE-RSA-WITH-AES-128-GCM-SHA256",
596817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
59732b31808SJens Wiklander 0,
59832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
599*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
600817466cbSJens Wiklander
601*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
602817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA256",
603817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
60432b31808SJens Wiklander 0,
60532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
606817466cbSJens Wiklander
607817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA256",
608817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
60932b31808SJens Wiklander 0,
61032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
611*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
612*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
613817466cbSJens Wiklander
614*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
615*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
616817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA",
617817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
61832b31808SJens Wiklander 0,
61932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
620817466cbSJens Wiklander
621817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA",
622817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
62332b31808SJens Wiklander 0,
62432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
625*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
626*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
627*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CCM)
628817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM, "TLS-DHE-RSA-WITH-AES-256-CCM",
629817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
63032b31808SJens Wiklander 0,
63132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
632817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8, "TLS-DHE-RSA-WITH-AES-256-CCM-8",
633817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
63432b31808SJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG,
63532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
636817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM, "TLS-DHE-RSA-WITH-AES-128-CCM",
637817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
63832b31808SJens Wiklander 0,
63932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
640817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8, "TLS-DHE-RSA-WITH-AES-128-CCM-8",
641817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
64232b31808SJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG,
64332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
644*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CCM */
645*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_AES */
646817466cbSJens Wiklander
647*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CAMELLIA)
648*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
649*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
650817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256",
651817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
65232b31808SJens Wiklander 0,
65332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
654817466cbSJens Wiklander
655817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256",
656817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
65732b31808SJens Wiklander 0,
65832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
659*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
660817466cbSJens Wiklander
661*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
662817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA",
663817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
66432b31808SJens Wiklander 0,
66532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
666817466cbSJens Wiklander
667817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA",
668817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
66932b31808SJens Wiklander 0,
67032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
671*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
672*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
673*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
674*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
675817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256",
676817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
67732b31808SJens Wiklander 0,
67832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
679*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
680817466cbSJens Wiklander
681*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
682817466cbSJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384",
683817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
68432b31808SJens Wiklander 0,
68532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
686*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
687*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
688*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CAMELLIA */
689817466cbSJens Wiklander
690817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
691817466cbSJens Wiklander
692817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
693*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_AES)
694*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384) && \
695*b0563631STom Van Eyck defined(MBEDTLS_SSL_HAVE_GCM)
696817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384, "TLS-RSA-WITH-AES-256-GCM-SHA384",
697817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
69832b31808SJens Wiklander 0,
69932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
700*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 && MBEDTLS_SSL_HAVE_GCM */
701817466cbSJens Wiklander
702*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
703*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
704817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256, "TLS-RSA-WITH-AES-128-GCM-SHA256",
705817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
70632b31808SJens Wiklander 0,
70732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
708*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
709817466cbSJens Wiklander
710*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
711817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256, "TLS-RSA-WITH-AES-128-CBC-SHA256",
712817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
71332b31808SJens Wiklander 0,
71432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
715817466cbSJens Wiklander
716817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256, "TLS-RSA-WITH-AES-256-CBC-SHA256",
717817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
71832b31808SJens Wiklander 0,
71932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
720*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
721*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
722817466cbSJens Wiklander
723*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
724*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
725817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA, "TLS-RSA-WITH-AES-128-CBC-SHA",
726817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
72732b31808SJens Wiklander 0,
72832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
729817466cbSJens Wiklander
730817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA, "TLS-RSA-WITH-AES-256-CBC-SHA",
731817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
73232b31808SJens Wiklander 0,
73332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
734*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
735*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
736*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CCM)
737817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_256_CCM, "TLS-RSA-WITH-AES-256-CCM",
738817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
73932b31808SJens Wiklander 0,
74032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
741817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8, "TLS-RSA-WITH-AES-256-CCM-8",
742817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
74332b31808SJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG,
74432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
745817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_128_CCM, "TLS-RSA-WITH-AES-128-CCM",
746817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
74732b31808SJens Wiklander 0,
74832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
749817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8, "TLS-RSA-WITH-AES-128-CCM-8",
750817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
75132b31808SJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG,
75232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
753*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CCM */
754*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_AES */
755817466cbSJens Wiklander
756*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CAMELLIA)
757*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
758*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
759817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256",
760817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
76132b31808SJens Wiklander 0,
76232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
763817466cbSJens Wiklander
764817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256",
765817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
76632b31808SJens Wiklander 0,
76732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
768*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
769817466cbSJens Wiklander
770*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
771817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA",
772817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
77332b31808SJens Wiklander 0,
77432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
775817466cbSJens Wiklander
776817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA",
777817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
77832b31808SJens Wiklander 0,
77932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
780*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
781*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
782817466cbSJens Wiklander
783*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
784*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
785817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-WITH-CAMELLIA-128-GCM-SHA256",
786817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
78732b31808SJens Wiklander 0,
78832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
789*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
790817466cbSJens Wiklander
791*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
792817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-WITH-CAMELLIA-256-GCM-SHA384",
793817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
79432b31808SJens Wiklander 0,
79532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
796*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
797*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
798*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CAMELLIA */
799817466cbSJens Wiklander
800817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
801817466cbSJens Wiklander
802817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)
803*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_AES)
804*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
805*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
806817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA",
807817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
80832b31808SJens Wiklander 0,
80932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
810817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA",
811817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
81232b31808SJens Wiklander 0,
81332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
814*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
815*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
816*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
817*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
818817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA256",
819817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
82032b31808SJens Wiklander 0,
82132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
822*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
823*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
824817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256",
825817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
82632b31808SJens Wiklander 0,
82732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
828*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
829*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
830*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
831*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
832817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384",
833817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
83432b31808SJens Wiklander 0,
83532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
836*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
837*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
838817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-AES-256-GCM-SHA384",
839817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
84032b31808SJens Wiklander 0,
84132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
842*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
843*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
844*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_AES */
845817466cbSJens Wiklander
846*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CAMELLIA)
847*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
848*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
84932b31808SJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
85032b31808SJens Wiklander "TLS-ECDH-RSA-WITH-CAMELLIA-128-CBC-SHA256",
851817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
85232b31808SJens Wiklander 0,
85332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
854*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
855*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
85632b31808SJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,
85732b31808SJens Wiklander "TLS-ECDH-RSA-WITH-CAMELLIA-256-CBC-SHA384",
858817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
85932b31808SJens Wiklander 0,
86032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
861*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
862*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
863817466cbSJens Wiklander
864*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
865*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
86632b31808SJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256,
86732b31808SJens Wiklander "TLS-ECDH-RSA-WITH-CAMELLIA-128-GCM-SHA256",
868817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
86932b31808SJens Wiklander 0,
87032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
871*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
872*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
87332b31808SJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384,
87432b31808SJens Wiklander "TLS-ECDH-RSA-WITH-CAMELLIA-256-GCM-SHA384",
875817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
87632b31808SJens Wiklander 0,
87732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
878*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
879*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
880*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CAMELLIA */
881817466cbSJens Wiklander
882817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
883*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
884817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA, "TLS-ECDH-RSA-WITH-NULL-SHA",
885817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
88632b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
88732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
888*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
889817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
890817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */
891817466cbSJens Wiklander
892817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
893*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_AES)
894*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
895*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
896817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA",
897817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
89832b31808SJens Wiklander 0,
89932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
900817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA",
901817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
90232b31808SJens Wiklander 0,
90332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
904*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
905*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
906*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
907*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
908817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA256",
909817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
91032b31808SJens Wiklander 0,
91132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
912*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
913*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
914817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256",
915817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
91632b31808SJens Wiklander 0,
91732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
918*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
919*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
920*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
921*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
922817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA384",
923817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
92432b31808SJens Wiklander 0,
92532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
926*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
927*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
928817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384",
929817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
93032b31808SJens Wiklander 0,
93132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
932*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
933*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
934*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_AES */
935817466cbSJens Wiklander
936*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CAMELLIA)
937*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
938*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
93932b31808SJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
94032b31808SJens Wiklander "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-CBC-SHA256",
941817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
94232b31808SJens Wiklander 0,
94332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
944*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
945*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
94632b31808SJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
94732b31808SJens Wiklander "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384",
948817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
94932b31808SJens Wiklander 0,
95032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
951*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
952*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
953817466cbSJens Wiklander
954*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
955*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
95632b31808SJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
95732b31808SJens Wiklander "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-GCM-SHA256",
958817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
95932b31808SJens Wiklander 0,
96032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
961*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
962*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
96332b31808SJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
96432b31808SJens Wiklander "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-GCM-SHA384",
965817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
96632b31808SJens Wiklander 0,
96732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
968*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
969*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
970*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CAMELLIA */
971817466cbSJens Wiklander
972817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
973*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
974817466cbSJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA, "TLS-ECDH-ECDSA-WITH-NULL-SHA",
975817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
97632b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
97732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
978*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
979817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
980817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
981817466cbSJens Wiklander
982817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
983*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_AES)
984*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
985*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
986817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256, "TLS-PSK-WITH-AES-128-GCM-SHA256",
987817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
98832b31808SJens Wiklander 0,
98932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
990*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
991817466cbSJens Wiklander
992*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
993817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384, "TLS-PSK-WITH-AES-256-GCM-SHA384",
994817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
99532b31808SJens Wiklander 0,
99632b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
997*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
998*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
999817466cbSJens Wiklander
1000*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
1001*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1002817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256, "TLS-PSK-WITH-AES-128-CBC-SHA256",
1003817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
100432b31808SJens Wiklander 0,
100532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1006*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
1007817466cbSJens Wiklander
1008*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1009817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384, "TLS-PSK-WITH-AES-256-CBC-SHA384",
1010817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
101132b31808SJens Wiklander 0,
101232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1013*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1014817466cbSJens Wiklander
1015*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
1016817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA, "TLS-PSK-WITH-AES-128-CBC-SHA",
1017817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
101832b31808SJens Wiklander 0,
101932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1020817466cbSJens Wiklander
1021817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA, "TLS-PSK-WITH-AES-256-CBC-SHA",
1022817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
102332b31808SJens Wiklander 0,
102432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1025*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
1026*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
1027*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CCM)
1028817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_256_CCM, "TLS-PSK-WITH-AES-256-CCM",
1029817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
103032b31808SJens Wiklander 0,
103132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1032817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8, "TLS-PSK-WITH-AES-256-CCM-8",
1033817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
103432b31808SJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG,
103532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1036817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_128_CCM, "TLS-PSK-WITH-AES-128-CCM",
1037817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
103832b31808SJens Wiklander 0,
103932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1040817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8, "TLS-PSK-WITH-AES-128-CCM-8",
1041817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
104232b31808SJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG,
104332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1044*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CCM */
1045*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_AES */
1046817466cbSJens Wiklander
1047*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CAMELLIA)
1048*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
1049*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1050817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-PSK-WITH-CAMELLIA-128-CBC-SHA256",
1051817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
105232b31808SJens Wiklander 0,
105332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1054*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
1055817466cbSJens Wiklander
1056*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1057817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-PSK-WITH-CAMELLIA-256-CBC-SHA384",
1058817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
105932b31808SJens Wiklander 0,
106032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1061*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1062*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
1063817466cbSJens Wiklander
1064*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
1065*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1066817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-PSK-WITH-CAMELLIA-128-GCM-SHA256",
1067817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
106832b31808SJens Wiklander 0,
106932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1070*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
1071817466cbSJens Wiklander
1072*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1073817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-PSK-WITH-CAMELLIA-256-GCM-SHA384",
1074817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
107532b31808SJens Wiklander 0,
107632b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1077*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1078*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
1079*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CAMELLIA */
1080817466cbSJens Wiklander
1081817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
1082817466cbSJens Wiklander
1083817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
1084*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_AES)
1085*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
1086*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1087817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, "TLS-DHE-PSK-WITH-AES-128-GCM-SHA256",
1088817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
108932b31808SJens Wiklander 0,
109032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1091*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
1092817466cbSJens Wiklander
1093*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1094817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384, "TLS-DHE-PSK-WITH-AES-256-GCM-SHA384",
1095817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
109632b31808SJens Wiklander 0,
109732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1098*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1099*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
1100817466cbSJens Wiklander
1101*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
1102*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1103817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA256",
1104817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
110532b31808SJens Wiklander 0,
110632b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1107*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
1108817466cbSJens Wiklander
1109*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1110817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA384",
1111817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
111232b31808SJens Wiklander 0,
111332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1114*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1115817466cbSJens Wiklander
1116*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
1117817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA",
1118817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
111932b31808SJens Wiklander 0,
112032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1121817466cbSJens Wiklander
1122817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA",
1123817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
112432b31808SJens Wiklander 0,
112532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1126*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
1127*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
1128*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CCM)
1129817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM, "TLS-DHE-PSK-WITH-AES-256-CCM",
1130817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
113132b31808SJens Wiklander 0,
113232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1133817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8, "TLS-DHE-PSK-WITH-AES-256-CCM-8",
1134817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
113532b31808SJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG,
113632b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1137817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM, "TLS-DHE-PSK-WITH-AES-128-CCM",
1138817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
113932b31808SJens Wiklander 0,
114032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1141817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8, "TLS-DHE-PSK-WITH-AES-128-CCM-8",
1142817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
114332b31808SJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG,
114432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1145*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CCM */
1146*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_AES */
1147817466cbSJens Wiklander
1148*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CAMELLIA)
1149*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
1150*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1151817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-CBC-SHA256",
1152817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
115332b31808SJens Wiklander 0,
115432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1155*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
1156817466cbSJens Wiklander
1157*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1158817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-CBC-SHA384",
1159817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
116032b31808SJens Wiklander 0,
116132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1162*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1163*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
1164817466cbSJens Wiklander
1165*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
1166*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1167817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-GCM-SHA256",
1168817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
116932b31808SJens Wiklander 0,
117032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1171*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
1172817466cbSJens Wiklander
1173*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1174817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-GCM-SHA384",
1175817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
117632b31808SJens Wiklander 0,
117732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1178*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1179*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
1180*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CAMELLIA */
1181817466cbSJens Wiklander
1182817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
1183817466cbSJens Wiklander
1184817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
1185*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_AES)
1186817466cbSJens Wiklander
1187*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
1188*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1189817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA256",
1190817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
119132b31808SJens Wiklander 0,
119232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1193*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
1194817466cbSJens Wiklander
1195*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1196817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA384",
1197817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
119832b31808SJens Wiklander 0,
119932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1200*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1201817466cbSJens Wiklander
1202*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
1203817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA",
1204817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
120532b31808SJens Wiklander 0,
120632b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1207817466cbSJens Wiklander
1208817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA",
1209817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
121032b31808SJens Wiklander 0,
121132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1212*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
1213*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
1214*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_AES */
1215817466cbSJens Wiklander
1216*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CAMELLIA)
1217*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
1218*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
121932b31808SJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
122032b31808SJens Wiklander "TLS-ECDHE-PSK-WITH-CAMELLIA-128-CBC-SHA256",
1221817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
122232b31808SJens Wiklander 0,
122332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1224*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
1225817466cbSJens Wiklander
1226*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
122732b31808SJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
122832b31808SJens Wiklander "TLS-ECDHE-PSK-WITH-CAMELLIA-256-CBC-SHA384",
1229817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
123032b31808SJens Wiklander 0,
123132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1232*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1233*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
1234*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CAMELLIA */
1235817466cbSJens Wiklander
1236817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
1237817466cbSJens Wiklander
1238817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
1239*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_AES)
1240*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
1241*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1242817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, "TLS-RSA-PSK-WITH-AES-128-GCM-SHA256",
1243817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
124432b31808SJens Wiklander 0,
124532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1246*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
1247817466cbSJens Wiklander
1248*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1249817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, "TLS-RSA-PSK-WITH-AES-256-GCM-SHA384",
1250817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
125132b31808SJens Wiklander 0,
125232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1253*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1254*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
1255817466cbSJens Wiklander
1256*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
1257*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1258817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA256",
1259817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
126032b31808SJens Wiklander 0,
126132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1262*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
1263817466cbSJens Wiklander
1264*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1265817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA384",
1266817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
126732b31808SJens Wiklander 0,
126832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1269*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1270817466cbSJens Wiklander
1271*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
1272817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA",
1273817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
127432b31808SJens Wiklander 0,
127532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1276817466cbSJens Wiklander
1277817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA",
1278817466cbSJens Wiklander MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
127932b31808SJens Wiklander 0,
128032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1281*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
1282*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
1283*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_AES */
1284817466cbSJens Wiklander
1285*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CAMELLIA)
1286*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CBC)
1287*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1288817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-CBC-SHA256",
1289817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
129032b31808SJens Wiklander 0,
129132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1292*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
1293817466cbSJens Wiklander
1294*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1295817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-CBC-SHA384",
1296817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
129732b31808SJens Wiklander 0,
129832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1299*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1300*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CBC */
1301817466cbSJens Wiklander
1302*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_GCM)
1303*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1304817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-GCM-SHA256",
1305817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
130632b31808SJens Wiklander 0,
130732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1308*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA256 */
1309817466cbSJens Wiklander
1310*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1311817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-GCM-SHA384",
1312817466cbSJens Wiklander MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
131332b31808SJens Wiklander 0,
131432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1315*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1316*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_GCM */
1317*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CAMELLIA */
1318817466cbSJens Wiklander
1319817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
1320817466cbSJens Wiklander
1321817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
1322*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_AES)
1323*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_CCM)
1324817466cbSJens Wiklander { MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8, "TLS-ECJPAKE-WITH-AES-128-CCM-8",
1325817466cbSJens Wiklander MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECJPAKE,
132632b31808SJens Wiklander MBEDTLS_CIPHERSUITE_SHORT_TAG,
132732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1328*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_CCM */
1329*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_AES */
1330817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */
1331817466cbSJens Wiklander
1332817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
1333817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
1334*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_MD5)
1335817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_NULL_MD5, "TLS-RSA-WITH-NULL-MD5",
1336817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_MD5, MBEDTLS_KEY_EXCHANGE_RSA,
133732b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
133832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1339817466cbSJens Wiklander #endif
1340817466cbSJens Wiklander
1341*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
1342817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_NULL_SHA, "TLS-RSA-WITH-NULL-SHA",
1343817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
134432b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
134532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1346817466cbSJens Wiklander #endif
1347817466cbSJens Wiklander
1348*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1349817466cbSJens Wiklander { MBEDTLS_TLS_RSA_WITH_NULL_SHA256, "TLS-RSA-WITH-NULL-SHA256",
1350817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
135132b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
135232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1353817466cbSJens Wiklander #endif
1354817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
1355817466cbSJens Wiklander
1356817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
1357*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
1358817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_NULL_SHA, "TLS-PSK-WITH-NULL-SHA",
1359817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
136032b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
136132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1362*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
1363817466cbSJens Wiklander
1364*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1365817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_NULL_SHA256, "TLS-PSK-WITH-NULL-SHA256",
1366817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
136732b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
136832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1369817466cbSJens Wiklander #endif
1370817466cbSJens Wiklander
1371*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1372817466cbSJens Wiklander { MBEDTLS_TLS_PSK_WITH_NULL_SHA384, "TLS-PSK-WITH-NULL-SHA384",
1373817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
137432b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
137532b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1376*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1377817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
1378817466cbSJens Wiklander
1379817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
1380*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
1381817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA, "TLS-DHE-PSK-WITH-NULL-SHA",
1382817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
138332b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
138432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1385*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
1386817466cbSJens Wiklander
1387*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1388817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256, "TLS-DHE-PSK-WITH-NULL-SHA256",
1389817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
139032b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
139132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1392817466cbSJens Wiklander #endif
1393817466cbSJens Wiklander
1394*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1395817466cbSJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384, "TLS-DHE-PSK-WITH-NULL-SHA384",
1396817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
139732b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
139832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1399*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1400817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
1401817466cbSJens Wiklander
1402817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
1403*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
1404817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA, "TLS-ECDHE-PSK-WITH-NULL-SHA",
1405817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
140632b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
140732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1408*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
1409817466cbSJens Wiklander
1410*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1411817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256, "TLS-ECDHE-PSK-WITH-NULL-SHA256",
1412817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
141332b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
141432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1415817466cbSJens Wiklander #endif
1416817466cbSJens Wiklander
1417*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1418817466cbSJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384, "TLS-ECDHE-PSK-WITH-NULL-SHA384",
1419817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
142032b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
142132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1422*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1423817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
1424817466cbSJens Wiklander
1425817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
1426*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA1)
1427817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA, "TLS-RSA-PSK-WITH-NULL-SHA",
1428817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
142932b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
143032b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1431*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA1 */
1432817466cbSJens Wiklander
1433*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA256)
1434817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256, "TLS-RSA-PSK-WITH-NULL-SHA256",
1435817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
143632b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
143732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1438817466cbSJens Wiklander #endif
1439817466cbSJens Wiklander
1440*b0563631STom Van Eyck #if defined(MBEDTLS_MD_CAN_SHA384)
1441817466cbSJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384, "TLS-RSA-PSK-WITH-NULL-SHA384",
1442817466cbSJens Wiklander MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
144332b31808SJens Wiklander MBEDTLS_CIPHERSUITE_WEAK,
144432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1445*b0563631STom Van Eyck #endif /* MBEDTLS_MD_CAN_SHA384 */
1446817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
1447817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
1448817466cbSJens Wiklander
1449*b0563631STom Van Eyck #if defined(MBEDTLS_SSL_HAVE_ARIA)
14503d3b0591SJens Wiklander
14513d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
14523d3b0591SJens Wiklander
1453*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384))
14543d3b0591SJens Wiklander { MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384,
14553d3b0591SJens Wiklander "TLS-RSA-WITH-ARIA-256-GCM-SHA384",
14563d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
145732b31808SJens Wiklander 0,
145832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
14593d3b0591SJens Wiklander #endif
1460*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1461*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA384))
14623d3b0591SJens Wiklander { MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384,
14633d3b0591SJens Wiklander "TLS-RSA-WITH-ARIA-256-CBC-SHA384",
14643d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
146532b31808SJens Wiklander 0,
146632b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
14673d3b0591SJens Wiklander #endif
1468*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256))
14693d3b0591SJens Wiklander { MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256,
14703d3b0591SJens Wiklander "TLS-RSA-WITH-ARIA-128-GCM-SHA256",
14713d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
147232b31808SJens Wiklander 0,
147332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
14743d3b0591SJens Wiklander #endif
1475*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1476*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA256))
14773d3b0591SJens Wiklander { MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256,
14783d3b0591SJens Wiklander "TLS-RSA-WITH-ARIA-128-CBC-SHA256",
14793d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
148032b31808SJens Wiklander 0,
148132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
14823d3b0591SJens Wiklander #endif
14833d3b0591SJens Wiklander
14843d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
14853d3b0591SJens Wiklander
14863d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
14873d3b0591SJens Wiklander
1488*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384))
14893d3b0591SJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
14903d3b0591SJens Wiklander "TLS-RSA-PSK-WITH-ARIA-256-GCM-SHA384",
14913d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
149232b31808SJens Wiklander 0,
149332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
14943d3b0591SJens Wiklander #endif
1495*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1496*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA384))
14973d3b0591SJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384,
14983d3b0591SJens Wiklander "TLS-RSA-PSK-WITH-ARIA-256-CBC-SHA384",
14993d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
150032b31808SJens Wiklander 0,
150132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15023d3b0591SJens Wiklander #endif
1503*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256))
15043d3b0591SJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
15053d3b0591SJens Wiklander "TLS-RSA-PSK-WITH-ARIA-128-GCM-SHA256",
15063d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
150732b31808SJens Wiklander 0,
150832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15093d3b0591SJens Wiklander #endif
1510*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1511*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA256))
15123d3b0591SJens Wiklander { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256,
15133d3b0591SJens Wiklander "TLS-RSA-PSK-WITH-ARIA-128-CBC-SHA256",
15143d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
151532b31808SJens Wiklander 0,
151632b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15173d3b0591SJens Wiklander #endif
15183d3b0591SJens Wiklander
15193d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
15203d3b0591SJens Wiklander
15213d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
15223d3b0591SJens Wiklander
1523*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384))
15243d3b0591SJens Wiklander { MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384,
15253d3b0591SJens Wiklander "TLS-PSK-WITH-ARIA-256-GCM-SHA384",
15263d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
152732b31808SJens Wiklander 0,
152832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15293d3b0591SJens Wiklander #endif
1530*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1531*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA384))
15323d3b0591SJens Wiklander { MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384,
15333d3b0591SJens Wiklander "TLS-PSK-WITH-ARIA-256-CBC-SHA384",
15343d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
153532b31808SJens Wiklander 0,
153632b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15373d3b0591SJens Wiklander #endif
1538*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256))
15393d3b0591SJens Wiklander { MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256,
15403d3b0591SJens Wiklander "TLS-PSK-WITH-ARIA-128-GCM-SHA256",
15413d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
154232b31808SJens Wiklander 0,
154332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15443d3b0591SJens Wiklander #endif
1545*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1546*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA256))
15473d3b0591SJens Wiklander { MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256,
15483d3b0591SJens Wiklander "TLS-PSK-WITH-ARIA-128-CBC-SHA256",
15493d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
155032b31808SJens Wiklander 0,
155132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15523d3b0591SJens Wiklander #endif
15533d3b0591SJens Wiklander
15543d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
15553d3b0591SJens Wiklander
15563d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)
15573d3b0591SJens Wiklander
1558*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384))
15593d3b0591SJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384,
15603d3b0591SJens Wiklander "TLS-ECDH-RSA-WITH-ARIA-256-GCM-SHA384",
15613d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
156232b31808SJens Wiklander 0,
156332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15643d3b0591SJens Wiklander #endif
1565*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1566*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA384))
15673d3b0591SJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384,
15683d3b0591SJens Wiklander "TLS-ECDH-RSA-WITH-ARIA-256-CBC-SHA384",
15693d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
157032b31808SJens Wiklander 0,
157132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15723d3b0591SJens Wiklander #endif
1573*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256))
15743d3b0591SJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256,
15753d3b0591SJens Wiklander "TLS-ECDH-RSA-WITH-ARIA-128-GCM-SHA256",
15763d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
157732b31808SJens Wiklander 0,
157832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15793d3b0591SJens Wiklander #endif
1580*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1581*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA256))
15823d3b0591SJens Wiklander { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256,
15833d3b0591SJens Wiklander "TLS-ECDH-RSA-WITH-ARIA-128-CBC-SHA256",
15843d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
158532b31808SJens Wiklander 0,
158632b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15873d3b0591SJens Wiklander #endif
15883d3b0591SJens Wiklander
15893d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */
15903d3b0591SJens Wiklander
15913d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
15923d3b0591SJens Wiklander
1593*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384))
15943d3b0591SJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
15953d3b0591SJens Wiklander "TLS-ECDHE-RSA-WITH-ARIA-256-GCM-SHA384",
15963d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
159732b31808SJens Wiklander 0,
159832b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15993d3b0591SJens Wiklander #endif
1600*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1601*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA384))
16023d3b0591SJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,
16033d3b0591SJens Wiklander "TLS-ECDHE-RSA-WITH-ARIA-256-CBC-SHA384",
16043d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
160532b31808SJens Wiklander 0,
160632b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16073d3b0591SJens Wiklander #endif
1608*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256))
16093d3b0591SJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
16103d3b0591SJens Wiklander "TLS-ECDHE-RSA-WITH-ARIA-128-GCM-SHA256",
16113d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
161232b31808SJens Wiklander 0,
161332b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16143d3b0591SJens Wiklander #endif
1615*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1616*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA256))
16173d3b0591SJens Wiklander { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,
16183d3b0591SJens Wiklander "TLS-ECDHE-RSA-WITH-ARIA-128-CBC-SHA256",
16193d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
162032b31808SJens Wiklander 0,
162132b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16223d3b0591SJens Wiklander #endif
16233d3b0591SJens Wiklander
16243d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
16253d3b0591SJens Wiklander
16263d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
16273d3b0591SJens Wiklander
1628*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1629*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA384))
16303d3b0591SJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384,
16313d3b0591SJens Wiklander "TLS-ECDHE-PSK-WITH-ARIA-256-CBC-SHA384",
16323d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
163332b31808SJens Wiklander 0,
163432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16353d3b0591SJens Wiklander #endif
1636*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1637*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA256))
16383d3b0591SJens Wiklander { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256,
16393d3b0591SJens Wiklander "TLS-ECDHE-PSK-WITH-ARIA-128-CBC-SHA256",
16403d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
164132b31808SJens Wiklander 0,
164232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16433d3b0591SJens Wiklander #endif
16443d3b0591SJens Wiklander
16453d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
16463d3b0591SJens Wiklander
16473d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
16483d3b0591SJens Wiklander
1649*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384))
16503d3b0591SJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
16513d3b0591SJens Wiklander "TLS-ECDHE-ECDSA-WITH-ARIA-256-GCM-SHA384",
16523d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
165332b31808SJens Wiklander 0,
165432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16553d3b0591SJens Wiklander #endif
1656*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1657*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA384))
16583d3b0591SJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,
16593d3b0591SJens Wiklander "TLS-ECDHE-ECDSA-WITH-ARIA-256-CBC-SHA384",
16603d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
166132b31808SJens Wiklander 0,
166232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16633d3b0591SJens Wiklander #endif
1664*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256))
16653d3b0591SJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
16663d3b0591SJens Wiklander "TLS-ECDHE-ECDSA-WITH-ARIA-128-GCM-SHA256",
16673d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
166832b31808SJens Wiklander 0,
166932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16703d3b0591SJens Wiklander #endif
1671*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1672*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA256))
16733d3b0591SJens Wiklander { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,
16743d3b0591SJens Wiklander "TLS-ECDHE-ECDSA-WITH-ARIA-128-CBC-SHA256",
16753d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
167632b31808SJens Wiklander 0,
167732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16783d3b0591SJens Wiklander #endif
16793d3b0591SJens Wiklander
16803d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
16813d3b0591SJens Wiklander
16823d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
16833d3b0591SJens Wiklander
1684*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384))
16853d3b0591SJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384,
16863d3b0591SJens Wiklander "TLS-ECDH-ECDSA-WITH-ARIA-256-GCM-SHA384",
16873d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
168832b31808SJens Wiklander 0,
168932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16903d3b0591SJens Wiklander #endif
1691*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1692*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA384))
16933d3b0591SJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384,
16943d3b0591SJens Wiklander "TLS-ECDH-ECDSA-WITH-ARIA-256-CBC-SHA384",
16953d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
169632b31808SJens Wiklander 0,
169732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16983d3b0591SJens Wiklander #endif
1699*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256))
17003d3b0591SJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256,
17013d3b0591SJens Wiklander "TLS-ECDH-ECDSA-WITH-ARIA-128-GCM-SHA256",
17023d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
170332b31808SJens Wiklander 0,
170432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17053d3b0591SJens Wiklander #endif
1706*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1707*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA256))
17083d3b0591SJens Wiklander { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256,
17093d3b0591SJens Wiklander "TLS-ECDH-ECDSA-WITH-ARIA-128-CBC-SHA256",
17103d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
171132b31808SJens Wiklander 0,
171232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17133d3b0591SJens Wiklander #endif
17143d3b0591SJens Wiklander
17153d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
17163d3b0591SJens Wiklander
17173d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
17183d3b0591SJens Wiklander
1719*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384))
17203d3b0591SJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
17213d3b0591SJens Wiklander "TLS-DHE-RSA-WITH-ARIA-256-GCM-SHA384",
17223d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
172332b31808SJens Wiklander 0,
172432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17253d3b0591SJens Wiklander #endif
1726*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1727*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA384))
17283d3b0591SJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,
17293d3b0591SJens Wiklander "TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384",
17303d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
173132b31808SJens Wiklander 0,
173232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17333d3b0591SJens Wiklander #endif
1734*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256))
17353d3b0591SJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
17363d3b0591SJens Wiklander "TLS-DHE-RSA-WITH-ARIA-128-GCM-SHA256",
17373d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
173832b31808SJens Wiklander 0,
173932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17403d3b0591SJens Wiklander #endif
1741*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1742*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA256))
17433d3b0591SJens Wiklander { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,
17443d3b0591SJens Wiklander "TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256",
17453d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
174632b31808SJens Wiklander 0,
174732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17483d3b0591SJens Wiklander #endif
17493d3b0591SJens Wiklander
17503d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
17513d3b0591SJens Wiklander
17523d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
17533d3b0591SJens Wiklander
1754*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA384))
17553d3b0591SJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
17563d3b0591SJens Wiklander "TLS-DHE-PSK-WITH-ARIA-256-GCM-SHA384",
17573d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
175832b31808SJens Wiklander 0,
175932b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17603d3b0591SJens Wiklander #endif
1761*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1762*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA384))
17633d3b0591SJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384,
17643d3b0591SJens Wiklander "TLS-DHE-PSK-WITH-ARIA-256-CBC-SHA384",
17653d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
176632b31808SJens Wiklander 0,
176732b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17683d3b0591SJens Wiklander #endif
1769*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_GCM) && defined(MBEDTLS_MD_CAN_SHA256))
17703d3b0591SJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
17713d3b0591SJens Wiklander "TLS-DHE-PSK-WITH-ARIA-128-GCM-SHA256",
17723d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
177332b31808SJens Wiklander 0,
177432b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17753d3b0591SJens Wiklander #endif
1776*b0563631STom Van Eyck #if (defined(MBEDTLS_SSL_HAVE_CBC) && \
1777*b0563631STom Van Eyck defined(MBEDTLS_MD_CAN_SHA256))
17783d3b0591SJens Wiklander { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256,
17793d3b0591SJens Wiklander "TLS-DHE-PSK-WITH-ARIA-128-CBC-SHA256",
17803d3b0591SJens Wiklander MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
178132b31808SJens Wiklander 0,
178232b31808SJens Wiklander MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17833d3b0591SJens Wiklander #endif
17843d3b0591SJens Wiklander
17853d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
17863d3b0591SJens Wiklander
1787*b0563631STom Van Eyck #endif /* MBEDTLS_SSL_HAVE_ARIA */
17883d3b0591SJens Wiklander
17893d3b0591SJens Wiklander
1790817466cbSJens Wiklander { 0, "",
1791817466cbSJens Wiklander MBEDTLS_CIPHER_NONE, MBEDTLS_MD_NONE, MBEDTLS_KEY_EXCHANGE_NONE,
179232b31808SJens Wiklander 0, 0, 0 }
1793817466cbSJens Wiklander };
1794817466cbSJens Wiklander
1795817466cbSJens Wiklander #if defined(MBEDTLS_SSL_CIPHERSUITES)
mbedtls_ssl_list_ciphersuites(void)1796817466cbSJens Wiklander const int *mbedtls_ssl_list_ciphersuites(void)
1797817466cbSJens Wiklander {
179832b31808SJens Wiklander return ciphersuite_preference;
1799817466cbSJens Wiklander }
1800817466cbSJens Wiklander #else
1801817466cbSJens Wiklander #define MAX_CIPHERSUITES sizeof(ciphersuite_definitions) / \
1802817466cbSJens Wiklander sizeof(ciphersuite_definitions[0])
1803817466cbSJens Wiklander static int supported_ciphersuites[MAX_CIPHERSUITES];
1804817466cbSJens Wiklander static int supported_init = 0;
1805817466cbSJens Wiklander
1806039e02dfSJerome Forissier MBEDTLS_CHECK_RETURN_CRITICAL
ciphersuite_is_removed(const mbedtls_ssl_ciphersuite_t * cs_info)18075b25c76aSJerome Forissier static int ciphersuite_is_removed(const mbedtls_ssl_ciphersuite_t *cs_info)
18085b25c76aSJerome Forissier {
18095b25c76aSJerome Forissier (void) cs_info;
18105b25c76aSJerome Forissier
181132b31808SJens Wiklander return 0;
18125b25c76aSJerome Forissier }
18135b25c76aSJerome Forissier
mbedtls_ssl_list_ciphersuites(void)1814817466cbSJens Wiklander const int *mbedtls_ssl_list_ciphersuites(void)
1815817466cbSJens Wiklander {
1816817466cbSJens Wiklander /*
1817817466cbSJens Wiklander * On initial call filter out all ciphersuites not supported by current
1818817466cbSJens Wiklander * build based on presence in the ciphersuite_definitions.
1819817466cbSJens Wiklander */
182032b31808SJens Wiklander if (supported_init == 0) {
1821817466cbSJens Wiklander const int *p;
1822817466cbSJens Wiklander int *q;
1823817466cbSJens Wiklander
1824817466cbSJens Wiklander for (p = ciphersuite_preference, q = supported_ciphersuites;
1825817466cbSJens Wiklander *p != 0 && q < supported_ciphersuites + MAX_CIPHERSUITES - 1;
182632b31808SJens Wiklander p++) {
1827817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *cs_info;
1828817466cbSJens Wiklander if ((cs_info = mbedtls_ssl_ciphersuite_from_id(*p)) != NULL &&
182932b31808SJens Wiklander !ciphersuite_is_removed(cs_info)) {
1830817466cbSJens Wiklander *(q++) = *p;
1831817466cbSJens Wiklander }
18325b25c76aSJerome Forissier }
1833817466cbSJens Wiklander *q = 0;
1834817466cbSJens Wiklander
1835817466cbSJens Wiklander supported_init = 1;
1836817466cbSJens Wiklander }
1837817466cbSJens Wiklander
183832b31808SJens Wiklander return supported_ciphersuites;
1839817466cbSJens Wiklander }
1840817466cbSJens Wiklander #endif /* MBEDTLS_SSL_CIPHERSUITES */
1841817466cbSJens Wiklander
mbedtls_ssl_ciphersuite_from_string(const char * ciphersuite_name)1842817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_string(
1843817466cbSJens Wiklander const char *ciphersuite_name)
1844817466cbSJens Wiklander {
1845817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions;
1846817466cbSJens Wiklander
184732b31808SJens Wiklander if (NULL == ciphersuite_name) {
184832b31808SJens Wiklander return NULL;
184932b31808SJens Wiklander }
1850817466cbSJens Wiklander
185132b31808SJens Wiklander while (cur->id != 0) {
185232b31808SJens Wiklander if (0 == strcmp(cur->name, ciphersuite_name)) {
185332b31808SJens Wiklander return cur;
185432b31808SJens Wiklander }
1855817466cbSJens Wiklander
1856817466cbSJens Wiklander cur++;
1857817466cbSJens Wiklander }
1858817466cbSJens Wiklander
185932b31808SJens Wiklander return NULL;
1860817466cbSJens Wiklander }
1861817466cbSJens Wiklander
mbedtls_ssl_ciphersuite_from_id(int ciphersuite)1862817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_id(int ciphersuite)
1863817466cbSJens Wiklander {
1864817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions;
1865817466cbSJens Wiklander
186632b31808SJens Wiklander while (cur->id != 0) {
186732b31808SJens Wiklander if (cur->id == ciphersuite) {
186832b31808SJens Wiklander return cur;
186932b31808SJens Wiklander }
1870817466cbSJens Wiklander
1871817466cbSJens Wiklander cur++;
1872817466cbSJens Wiklander }
1873817466cbSJens Wiklander
187432b31808SJens Wiklander return NULL;
1875817466cbSJens Wiklander }
1876817466cbSJens Wiklander
mbedtls_ssl_get_ciphersuite_name(const int ciphersuite_id)1877817466cbSJens Wiklander const char *mbedtls_ssl_get_ciphersuite_name(const int ciphersuite_id)
1878817466cbSJens Wiklander {
1879817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *cur;
1880817466cbSJens Wiklander
1881817466cbSJens Wiklander cur = mbedtls_ssl_ciphersuite_from_id(ciphersuite_id);
1882817466cbSJens Wiklander
188332b31808SJens Wiklander if (cur == NULL) {
188432b31808SJens Wiklander return "unknown";
188532b31808SJens Wiklander }
1886817466cbSJens Wiklander
188732b31808SJens Wiklander return cur->name;
1888817466cbSJens Wiklander }
1889817466cbSJens Wiklander
mbedtls_ssl_get_ciphersuite_id(const char * ciphersuite_name)1890817466cbSJens Wiklander int mbedtls_ssl_get_ciphersuite_id(const char *ciphersuite_name)
1891817466cbSJens Wiklander {
1892817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *cur;
1893817466cbSJens Wiklander
1894817466cbSJens Wiklander cur = mbedtls_ssl_ciphersuite_from_string(ciphersuite_name);
1895817466cbSJens Wiklander
189632b31808SJens Wiklander if (cur == NULL) {
189732b31808SJens Wiklander return 0;
189832b31808SJens Wiklander }
1899817466cbSJens Wiklander
190032b31808SJens Wiklander return cur->id;
190132b31808SJens Wiklander }
190232b31808SJens Wiklander
mbedtls_ssl_ciphersuite_get_cipher_key_bitlen(const mbedtls_ssl_ciphersuite_t * info)190332b31808SJens Wiklander size_t mbedtls_ssl_ciphersuite_get_cipher_key_bitlen(const mbedtls_ssl_ciphersuite_t *info)
190432b31808SJens Wiklander {
190532b31808SJens Wiklander #if defined(MBEDTLS_USE_PSA_CRYPTO)
190632b31808SJens Wiklander psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
190732b31808SJens Wiklander psa_key_type_t key_type;
190832b31808SJens Wiklander psa_algorithm_t alg;
190932b31808SJens Wiklander size_t key_bits;
191032b31808SJens Wiklander
1911*b0563631STom Van Eyck status = mbedtls_ssl_cipher_to_psa((mbedtls_cipher_type_t) info->cipher,
191232b31808SJens Wiklander info->flags & MBEDTLS_CIPHERSUITE_SHORT_TAG ? 8 : 16,
191332b31808SJens Wiklander &alg, &key_type, &key_bits);
191432b31808SJens Wiklander
191532b31808SJens Wiklander if (status != PSA_SUCCESS) {
191632b31808SJens Wiklander return 0;
191732b31808SJens Wiklander }
191832b31808SJens Wiklander
191932b31808SJens Wiklander return key_bits;
192032b31808SJens Wiklander #else
192132b31808SJens Wiklander const mbedtls_cipher_info_t * const cipher_info =
1922*b0563631STom Van Eyck mbedtls_cipher_info_from_type((mbedtls_cipher_type_t) info->cipher);
192332b31808SJens Wiklander
192432b31808SJens Wiklander return mbedtls_cipher_info_get_key_bitlen(cipher_info);
192532b31808SJens Wiklander #endif /* MBEDTLS_USE_PSA_CRYPTO */
1926817466cbSJens Wiklander }
1927817466cbSJens Wiklander
1928817466cbSJens Wiklander #if defined(MBEDTLS_PK_C)
mbedtls_ssl_get_ciphersuite_sig_pk_alg(const mbedtls_ssl_ciphersuite_t * info)1929817466cbSJens Wiklander mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_pk_alg(const mbedtls_ssl_ciphersuite_t *info)
1930817466cbSJens Wiklander {
193132b31808SJens Wiklander switch (info->key_exchange) {
1932817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_RSA:
1933817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
1934817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
1935817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_RSA_PSK:
193632b31808SJens Wiklander return MBEDTLS_PK_RSA;
1937817466cbSJens Wiklander
1938817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
193932b31808SJens Wiklander return MBEDTLS_PK_ECDSA;
1940817466cbSJens Wiklander
1941817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
1942817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
194332b31808SJens Wiklander return MBEDTLS_PK_ECKEY;
1944817466cbSJens Wiklander
1945817466cbSJens Wiklander default:
194632b31808SJens Wiklander return MBEDTLS_PK_NONE;
1947817466cbSJens Wiklander }
1948817466cbSJens Wiklander }
1949817466cbSJens Wiklander
195032b31808SJens Wiklander #if defined(MBEDTLS_USE_PSA_CRYPTO)
mbedtls_ssl_get_ciphersuite_sig_pk_psa_alg(const mbedtls_ssl_ciphersuite_t * info)195132b31808SJens Wiklander psa_algorithm_t mbedtls_ssl_get_ciphersuite_sig_pk_psa_alg(const mbedtls_ssl_ciphersuite_t *info)
195232b31808SJens Wiklander {
195332b31808SJens Wiklander switch (info->key_exchange) {
195432b31808SJens Wiklander case MBEDTLS_KEY_EXCHANGE_RSA:
195532b31808SJens Wiklander case MBEDTLS_KEY_EXCHANGE_RSA_PSK:
195632b31808SJens Wiklander return PSA_ALG_RSA_PKCS1V15_CRYPT;
195732b31808SJens Wiklander case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
195832b31808SJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
195932b31808SJens Wiklander return PSA_ALG_RSA_PKCS1V15_SIGN(
1960*b0563631STom Van Eyck mbedtls_md_psa_alg_from_type((mbedtls_md_type_t) info->mac));
196132b31808SJens Wiklander
196232b31808SJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
1963*b0563631STom Van Eyck return PSA_ALG_ECDSA(mbedtls_md_psa_alg_from_type((mbedtls_md_type_t) info->mac));
196432b31808SJens Wiklander
196532b31808SJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
196632b31808SJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
196732b31808SJens Wiklander return PSA_ALG_ECDH;
196832b31808SJens Wiklander
196932b31808SJens Wiklander default:
197032b31808SJens Wiklander return PSA_ALG_NONE;
197132b31808SJens Wiklander }
197232b31808SJens Wiklander }
197332b31808SJens Wiklander
mbedtls_ssl_get_ciphersuite_sig_pk_psa_usage(const mbedtls_ssl_ciphersuite_t * info)197432b31808SJens Wiklander psa_key_usage_t mbedtls_ssl_get_ciphersuite_sig_pk_psa_usage(const mbedtls_ssl_ciphersuite_t *info)
197532b31808SJens Wiklander {
197632b31808SJens Wiklander switch (info->key_exchange) {
197732b31808SJens Wiklander case MBEDTLS_KEY_EXCHANGE_RSA:
197832b31808SJens Wiklander case MBEDTLS_KEY_EXCHANGE_RSA_PSK:
197932b31808SJens Wiklander return PSA_KEY_USAGE_DECRYPT;
198032b31808SJens Wiklander case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
198132b31808SJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
198232b31808SJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
198332b31808SJens Wiklander return PSA_KEY_USAGE_SIGN_HASH;
198432b31808SJens Wiklander
198532b31808SJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
198632b31808SJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
198732b31808SJens Wiklander return PSA_KEY_USAGE_DERIVE;
198832b31808SJens Wiklander
198932b31808SJens Wiklander default:
199032b31808SJens Wiklander return 0;
199132b31808SJens Wiklander }
199232b31808SJens Wiklander }
199332b31808SJens Wiklander #endif /* MBEDTLS_USE_PSA_CRYPTO */
199432b31808SJens Wiklander
mbedtls_ssl_get_ciphersuite_sig_alg(const mbedtls_ssl_ciphersuite_t * info)1995817466cbSJens Wiklander mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_alg(const mbedtls_ssl_ciphersuite_t *info)
1996817466cbSJens Wiklander {
199732b31808SJens Wiklander switch (info->key_exchange) {
1998817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
1999817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
200032b31808SJens Wiklander return MBEDTLS_PK_RSA;
2001817466cbSJens Wiklander
2002817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
200332b31808SJens Wiklander return MBEDTLS_PK_ECDSA;
2004817466cbSJens Wiklander
2005817466cbSJens Wiklander default:
200632b31808SJens Wiklander return MBEDTLS_PK_NONE;
2007817466cbSJens Wiklander }
2008817466cbSJens Wiklander }
2009817466cbSJens Wiklander
2010817466cbSJens Wiklander #endif /* MBEDTLS_PK_C */
2011817466cbSJens Wiklander
2012*b0563631STom Van Eyck #if defined(MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_1_2_ENABLED) || \
2013*b0563631STom Van Eyck defined(MBEDTLS_KEY_EXCHANGE_ECDSA_CERT_REQ_ALLOWED_ENABLED) || \
20143d3b0591SJens Wiklander defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
mbedtls_ssl_ciphersuite_uses_ec(const mbedtls_ssl_ciphersuite_t * info)2015817466cbSJens Wiklander int mbedtls_ssl_ciphersuite_uses_ec(const mbedtls_ssl_ciphersuite_t *info)
2016817466cbSJens Wiklander {
201732b31808SJens Wiklander switch (info->key_exchange) {
2018817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
2019817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
2020817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK:
2021817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
2022817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
20233d3b0591SJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECJPAKE:
202432b31808SJens Wiklander return 1;
2025817466cbSJens Wiklander
2026817466cbSJens Wiklander default:
202732b31808SJens Wiklander return 0;
2028817466cbSJens Wiklander }
2029817466cbSJens Wiklander }
2030*b0563631STom Van Eyck #endif /* MBEDTLS_KEY_EXCHANGE_SOME_ECDH_OR_ECDHE_1_2_ENABLED ||
2031*b0563631STom Van Eyck * MBEDTLS_KEY_EXCHANGE_ECDSA_CERT_REQ_ALLOWED_ENABLED ||
2032*b0563631STom Van Eyck * MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED*/
2033817466cbSJens Wiklander
203411fa71b9SJerome Forissier #if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED)
mbedtls_ssl_ciphersuite_uses_psk(const mbedtls_ssl_ciphersuite_t * info)2035817466cbSJens Wiklander int mbedtls_ssl_ciphersuite_uses_psk(const mbedtls_ssl_ciphersuite_t *info)
2036817466cbSJens Wiklander {
203732b31808SJens Wiklander switch (info->key_exchange) {
2038817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_PSK:
2039817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_RSA_PSK:
2040817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_DHE_PSK:
2041817466cbSJens Wiklander case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK:
204232b31808SJens Wiklander return 1;
2043817466cbSJens Wiklander
2044817466cbSJens Wiklander default:
204532b31808SJens Wiklander return 0;
2046817466cbSJens Wiklander }
2047817466cbSJens Wiklander }
204811fa71b9SJerome Forissier #endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */
2049817466cbSJens Wiklander
2050817466cbSJens Wiklander #endif /* MBEDTLS_SSL_TLS_C */
2051