xref: /optee_os/lib/libmbedtls/mbedtls/library/ssl_ciphersuites.c (revision 7901324d9530594155991c8b283023d567741cc7)
1817466cbSJens Wiklander /**
2817466cbSJens Wiklander  * \file ssl_ciphersuites.c
3817466cbSJens Wiklander  *
4817466cbSJens Wiklander  * \brief SSL ciphersuites for mbed TLS
5817466cbSJens Wiklander  *
6*7901324dSJerome Forissier  *  Copyright The Mbed TLS Contributors
7*7901324dSJerome Forissier  *  SPDX-License-Identifier: Apache-2.0
8817466cbSJens Wiklander  *
9817466cbSJens Wiklander  *  Licensed under the Apache License, Version 2.0 (the "License"); you may
10817466cbSJens Wiklander  *  not use this file except in compliance with the License.
11817466cbSJens Wiklander  *  You may obtain a copy of the License at
12817466cbSJens Wiklander  *
13817466cbSJens Wiklander  *  http://www.apache.org/licenses/LICENSE-2.0
14817466cbSJens Wiklander  *
15817466cbSJens Wiklander  *  Unless required by applicable law or agreed to in writing, software
16817466cbSJens Wiklander  *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17817466cbSJens Wiklander  *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18817466cbSJens Wiklander  *  See the License for the specific language governing permissions and
19817466cbSJens Wiklander  *  limitations under the License.
20817466cbSJens Wiklander  */
21817466cbSJens Wiklander 
22*7901324dSJerome Forissier #include "common.h"
23817466cbSJens Wiklander 
24817466cbSJens Wiklander #if defined(MBEDTLS_SSL_TLS_C)
25817466cbSJens Wiklander 
26817466cbSJens Wiklander #if defined(MBEDTLS_PLATFORM_C)
27817466cbSJens Wiklander #include "mbedtls/platform.h"
28817466cbSJens Wiklander #else
29817466cbSJens Wiklander #include <stdlib.h>
30817466cbSJens Wiklander #endif
31817466cbSJens Wiklander 
32817466cbSJens Wiklander #include "mbedtls/ssl_ciphersuites.h"
33817466cbSJens Wiklander #include "mbedtls/ssl.h"
34817466cbSJens Wiklander 
35817466cbSJens Wiklander #include <string.h>
36817466cbSJens Wiklander 
37*7901324dSJerome Forissier #undef HAVE_SHA384
38*7901324dSJerome Forissier #if defined(MBEDTLS_SHA512_C) && !defined(MBEDTLS_SHA512_NO_SHA384)
39*7901324dSJerome Forissier #define HAVE_SHA384
40*7901324dSJerome Forissier #endif
41*7901324dSJerome Forissier 
42817466cbSJens Wiklander /*
43817466cbSJens Wiklander  * Ordered from most preferred to least preferred in terms of security.
44817466cbSJens Wiklander  *
455b25c76aSJerome Forissier  * Current rule (except RC4 and 3DES, weak and null which come last):
46817466cbSJens Wiklander  * 1. By key exchange:
47817466cbSJens Wiklander  *    Forward-secure non-PSK > forward-secure PSK > ECJPAKE > other non-PSK > other PSK
48817466cbSJens Wiklander  * 2. By key length and cipher:
495b25c76aSJerome Forissier  *    ChaCha > AES-256 > Camellia-256 > ARIA-256 > AES-128 > Camellia-128 > ARIA-128
50817466cbSJens Wiklander  * 3. By cipher mode when relevant GCM > CCM > CBC > CCM_8
51817466cbSJens Wiklander  * 4. By hash function used when relevant
52817466cbSJens Wiklander  * 5. By key exchange/auth again: EC > non-EC
53817466cbSJens Wiklander  */
54817466cbSJens Wiklander static const int ciphersuite_preference[] =
55817466cbSJens Wiklander {
56817466cbSJens Wiklander #if defined(MBEDTLS_SSL_CIPHERSUITES)
57817466cbSJens Wiklander     MBEDTLS_SSL_CIPHERSUITES,
58817466cbSJens Wiklander #else
593d3b0591SJens Wiklander     /* Chacha-Poly ephemeral suites */
603d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
613d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
623d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
633d3b0591SJens Wiklander 
64817466cbSJens Wiklander     /* All AES-256 ephemeral suites */
65817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
66817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
67817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
68817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM,
69817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM,
70817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
71817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
72817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
73817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
74817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
75817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
76817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8,
77817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8,
78817466cbSJens Wiklander 
79817466cbSJens Wiklander     /* All CAMELLIA-256 ephemeral suites */
80817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
81817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
82817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
83817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
84817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
85817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
86817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
87817466cbSJens Wiklander 
883d3b0591SJens Wiklander     /* All ARIA-256 ephemeral suites */
893d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
903d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
913d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
923d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,
933d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,
943d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,
953d3b0591SJens Wiklander 
96817466cbSJens Wiklander     /* All AES-128 ephemeral suites */
97817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
98817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
99817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
100817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM,
101817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM,
102817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
103817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
104817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
105817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
106817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
107817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
108817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8,
109817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8,
110817466cbSJens Wiklander 
111817466cbSJens Wiklander     /* All CAMELLIA-128 ephemeral suites */
112817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
113817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
114817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
115817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
116817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
117817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
118817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
119817466cbSJens Wiklander 
1203d3b0591SJens Wiklander     /* All ARIA-128 ephemeral suites */
1213d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
1223d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
1233d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
1243d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,
1253d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,
1263d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,
1273d3b0591SJens Wiklander 
128817466cbSJens Wiklander     /* The PSK ephemeral suites */
1293d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
1303d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
131817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384,
132817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM,
133817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
134817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384,
135817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA,
136817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA,
137817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384,
138817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
139817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
140817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8,
1413d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
1423d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384,
1433d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384,
144817466cbSJens Wiklander 
145817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256,
146817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM,
147817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
148817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256,
149817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA,
150817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA,
151817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256,
152817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
153817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
154817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8,
1553d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
1563d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256,
1573d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256,
158817466cbSJens Wiklander 
159817466cbSJens Wiklander     /* The ECJPAKE suite */
160817466cbSJens Wiklander     MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8,
161817466cbSJens Wiklander 
162817466cbSJens Wiklander     /* All AES-256 suites */
163817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384,
164817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_256_CCM,
165817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256,
166817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA,
167817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,
168817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,
169817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
170817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
171817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,
172817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
173817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8,
174817466cbSJens Wiklander 
175817466cbSJens Wiklander     /* All CAMELLIA-256 suites */
176817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384,
177817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256,
178817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA,
179817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384,
180817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,
181817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
182817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
183817466cbSJens Wiklander 
1843d3b0591SJens Wiklander     /* All ARIA-256 suites */
1853d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384,
1863d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384,
1873d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384,
1883d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384,
1893d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384,
1903d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384,
1913d3b0591SJens Wiklander 
192817466cbSJens Wiklander     /* All AES-128 suites */
193817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256,
194817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_128_CCM,
195817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256,
196817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA,
197817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,
198817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,
199817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
200817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
201817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,
202817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
203817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8,
204817466cbSJens Wiklander 
205817466cbSJens Wiklander     /* All CAMELLIA-128 suites */
206817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256,
207817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256,
208817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA,
209817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256,
210817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
211817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
212817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
213817466cbSJens Wiklander 
2143d3b0591SJens Wiklander     /* All ARIA-128 suites */
2153d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256,
2163d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256,
2173d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256,
2183d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256,
2193d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256,
2203d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256,
2213d3b0591SJens Wiklander 
222817466cbSJens Wiklander     /* The RSA PSK suites */
2233d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256,
224817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384,
225817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384,
226817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA,
227817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384,
228817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
2293d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
2303d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384,
231817466cbSJens Wiklander 
232817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256,
233817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256,
234817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA,
235817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256,
236817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
2373d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
2383d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256,
239817466cbSJens Wiklander 
240817466cbSJens Wiklander     /* The PSK suites */
2413d3b0591SJens Wiklander     MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256,
242817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384,
243817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_256_CCM,
244817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384,
245817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA,
246817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384,
247817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384,
248817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8,
2493d3b0591SJens Wiklander     MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384,
2503d3b0591SJens Wiklander     MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384,
251817466cbSJens Wiklander 
252817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256,
253817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_128_CCM,
254817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256,
255817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA,
256817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256,
257817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256,
258817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8,
2593d3b0591SJens Wiklander     MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256,
2603d3b0591SJens Wiklander     MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256,
261817466cbSJens Wiklander 
2625b25c76aSJerome Forissier     /* 3DES suites */
2635b25c76aSJerome Forissier     MBEDTLS_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,
2645b25c76aSJerome Forissier     MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
2655b25c76aSJerome Forissier     MBEDTLS_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
2665b25c76aSJerome Forissier     MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA,
2675b25c76aSJerome Forissier     MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA,
2685b25c76aSJerome Forissier     MBEDTLS_TLS_RSA_WITH_3DES_EDE_CBC_SHA,
2695b25c76aSJerome Forissier     MBEDTLS_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,
2705b25c76aSJerome Forissier     MBEDTLS_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,
2715b25c76aSJerome Forissier     MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA,
272817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA,
273817466cbSJens Wiklander 
274817466cbSJens Wiklander     /* RC4 suites */
275817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,
276817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA,
277817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA,
278817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA,
279817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_RC4_128_SHA,
280817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_RC4_128_MD5,
281817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_RC4_128_SHA,
282817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_RC4_128_SHA,
283817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA,
284817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_RC4_128_SHA,
285817466cbSJens Wiklander 
286817466cbSJens Wiklander     /* Weak suites */
287817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_DES_CBC_SHA,
288817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_DES_CBC_SHA,
289817466cbSJens Wiklander 
290817466cbSJens Wiklander     /* NULL suites */
291817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA,
292817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA,
293817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384,
294817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256,
295817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA,
296817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384,
297817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256,
298817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA,
299817466cbSJens Wiklander 
300817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_NULL_SHA256,
301817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_NULL_SHA,
302817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_NULL_MD5,
303817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA,
304817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA,
305817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384,
306817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256,
307817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA,
308817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_NULL_SHA384,
309817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_NULL_SHA256,
310817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_NULL_SHA,
311817466cbSJens Wiklander 
312817466cbSJens Wiklander #endif /* MBEDTLS_SSL_CIPHERSUITES */
313817466cbSJens Wiklander     0
314817466cbSJens Wiklander };
315817466cbSJens Wiklander 
316817466cbSJens Wiklander static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] =
317817466cbSJens Wiklander {
3183d3b0591SJens Wiklander #if defined(MBEDTLS_CHACHAPOLY_C) && \
3193d3b0591SJens Wiklander     defined(MBEDTLS_SHA256_C) && \
3203d3b0591SJens Wiklander     defined(MBEDTLS_SSL_PROTO_TLS1_2)
3213d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
3223d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
3233d3b0591SJens Wiklander       "TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256",
3243d3b0591SJens Wiklander       MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3253d3b0591SJens Wiklander       MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
3263d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
3273d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
3283d3b0591SJens Wiklander       0 },
3293d3b0591SJens Wiklander #endif
3303d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
3313d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
3323d3b0591SJens Wiklander       "TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256",
3333d3b0591SJens Wiklander       MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3343d3b0591SJens Wiklander       MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
3353d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
3363d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
3373d3b0591SJens Wiklander       0 },
3383d3b0591SJens Wiklander #endif
3393d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
3403d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
3413d3b0591SJens Wiklander       "TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256",
3423d3b0591SJens Wiklander       MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3433d3b0591SJens Wiklander       MBEDTLS_KEY_EXCHANGE_DHE_RSA,
3443d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
3453d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
3463d3b0591SJens Wiklander       0 },
3473d3b0591SJens Wiklander #endif
3483d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
3493d3b0591SJens Wiklander     { MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256,
3503d3b0591SJens Wiklander       "TLS-PSK-WITH-CHACHA20-POLY1305-SHA256",
3513d3b0591SJens Wiklander       MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3523d3b0591SJens Wiklander       MBEDTLS_KEY_EXCHANGE_PSK,
3533d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
3543d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
3553d3b0591SJens Wiklander       0 },
3563d3b0591SJens Wiklander #endif
3573d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
3583d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
3593d3b0591SJens Wiklander       "TLS-ECDHE-PSK-WITH-CHACHA20-POLY1305-SHA256",
3603d3b0591SJens Wiklander       MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3613d3b0591SJens Wiklander       MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
3623d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
3633d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
3643d3b0591SJens Wiklander       0 },
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,
3713d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
3723d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
3733d3b0591SJens Wiklander       0 },
3743d3b0591SJens Wiklander #endif
3753d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
3763d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256,
3773d3b0591SJens Wiklander       "TLS-RSA-PSK-WITH-CHACHA20-POLY1305-SHA256",
3783d3b0591SJens Wiklander       MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3793d3b0591SJens Wiklander       MBEDTLS_KEY_EXCHANGE_RSA_PSK,
3803d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
3813d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
3823d3b0591SJens Wiklander       0 },
3833d3b0591SJens Wiklander #endif
3843d3b0591SJens Wiklander #endif /* MBEDTLS_CHACHAPOLY_C &&
3853d3b0591SJens Wiklander           MBEDTLS_SHA256_C &&
3863d3b0591SJens Wiklander           MBEDTLS_SSL_PROTO_TLS1_2 */
387817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
388817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
389817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
390817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
391817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA",
392817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
393817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
394817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
395817466cbSJens Wiklander       0 },
396817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA",
397817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
398817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
399817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
400817466cbSJens Wiklander       0 },
401817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
402817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
403817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
404817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
405817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256",
406817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
407817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
408817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
409817466cbSJens Wiklander       0 },
410817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
411817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
412817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256",
413817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
414817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
415817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
416817466cbSJens Wiklander       0 },
417817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
418817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
419*7901324dSJerome Forissier #if defined(HAVE_SHA384)
420817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
421817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384",
422817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
423817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
424817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
425817466cbSJens Wiklander       0 },
426817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
427817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
428817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384",
429817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
430817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
431817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
432817466cbSJens Wiklander       0 },
433817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
434*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
435817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C)
436817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM",
437817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
438817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
439817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
440817466cbSJens Wiklander       0 },
441817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM-8",
442817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
443817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
444817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
445817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG },
446817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM",
447817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
448817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
449817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
450817466cbSJens Wiklander       0 },
451817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8",
452817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
453817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
454817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
455817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG },
456817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */
457817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
458817466cbSJens Wiklander 
459817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
460817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
461817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
462817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-CBC-SHA256",
463817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
464817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
465817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
466817466cbSJens Wiklander       0 },
467817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
468*7901324dSJerome Forissier #if defined(HAVE_SHA384)
469817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-CBC-SHA384",
470817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
471817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
472817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
473817466cbSJens Wiklander       0 },
474*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
475817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
476817466cbSJens Wiklander 
477817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
478817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
479817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-GCM-SHA256",
480817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
481817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
482817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
483817466cbSJens Wiklander       0 },
484817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
485*7901324dSJerome Forissier #if defined(HAVE_SHA384)
486817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-GCM-SHA384",
487817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
488817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
489817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
490817466cbSJens Wiklander       0 },
491*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
492817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
493817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
494817466cbSJens Wiklander 
495817466cbSJens Wiklander #if defined(MBEDTLS_DES_C)
496817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
497817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
498817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-3DES-EDE-CBC-SHA",
499817466cbSJens Wiklander       MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
500817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
501817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
502817466cbSJens Wiklander       0 },
503817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
504817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
505817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */
506817466cbSJens Wiklander 
507817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C)
508817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
509817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, "TLS-ECDHE-ECDSA-WITH-RC4-128-SHA",
510817466cbSJens Wiklander       MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
511817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
512817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
513817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_NODTLS },
514817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
515817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */
516817466cbSJens Wiklander 
517817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
518817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
519817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA, "TLS-ECDHE-ECDSA-WITH-NULL-SHA",
520817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
521817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
522817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
523817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
524817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
525817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
526817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
527817466cbSJens Wiklander 
528817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
529817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
530817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
531817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
532817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA",
533817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
534817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
535817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
536817466cbSJens Wiklander       0 },
537817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA",
538817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
539817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
540817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
541817466cbSJens Wiklander       0 },
542817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
543817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
544817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
545817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
546817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256",
547817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
548817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
549817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
550817466cbSJens Wiklander       0 },
551817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
552817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
553817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256",
554817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
555817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
556817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
557817466cbSJens Wiklander       0 },
558817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
559817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
560*7901324dSJerome Forissier #if defined(HAVE_SHA384)
561817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
562817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384",
563817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
564817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
565817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
566817466cbSJens Wiklander       0 },
567817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
568817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
569817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384",
570817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
571817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
572817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
573817466cbSJens Wiklander       0 },
574817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
575*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
576817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
577817466cbSJens Wiklander 
578817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
579817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
580817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
581817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-CAMELLIA-128-CBC-SHA256",
582817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
583817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
584817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
585817466cbSJens Wiklander       0 },
586817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
587*7901324dSJerome Forissier #if defined(HAVE_SHA384)
588817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-CAMELLIA-256-CBC-SHA384",
589817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
590817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
591817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
592817466cbSJens Wiklander       0 },
593*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
594817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
595817466cbSJens Wiklander 
596817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
597817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
598817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-CAMELLIA-128-GCM-SHA256",
599817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
600817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
601817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
602817466cbSJens Wiklander       0 },
603817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
604*7901324dSJerome Forissier #if defined(HAVE_SHA384)
605817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-CAMELLIA-256-GCM-SHA384",
606817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
607817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
608817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
609817466cbSJens Wiklander       0 },
610*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
611817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
612817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
613817466cbSJens Wiklander 
614817466cbSJens Wiklander #if defined(MBEDTLS_DES_C)
615817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
616817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
617817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA",
618817466cbSJens Wiklander       MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
619817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
620817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
621817466cbSJens Wiklander       0 },
622817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
623817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
624817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */
625817466cbSJens Wiklander 
626817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C)
627817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
628817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA, "TLS-ECDHE-RSA-WITH-RC4-128-SHA",
629817466cbSJens Wiklander       MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
630817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
631817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
632817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_NODTLS },
633817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
634817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */
635817466cbSJens Wiklander 
636817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
637817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
638817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA, "TLS-ECDHE-RSA-WITH-NULL-SHA",
639817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
640817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
641817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
642817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
643817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
644817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
645817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
646817466cbSJens Wiklander 
647817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
648817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
649*7901324dSJerome Forissier #if defined(HAVE_SHA384) && defined(MBEDTLS_GCM_C)
650817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-DHE-RSA-WITH-AES-256-GCM-SHA384",
651817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
652817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
653817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
654817466cbSJens Wiklander       0 },
655*7901324dSJerome Forissier #endif /* HAVE_SHA384 && MBEDTLS_GCM_C */
656817466cbSJens Wiklander 
657817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
658817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
659817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-DHE-RSA-WITH-AES-128-GCM-SHA256",
660817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
661817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
662817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
663817466cbSJens Wiklander       0 },
664817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
665817466cbSJens Wiklander 
666817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
667817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA256",
668817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
669817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
670817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
671817466cbSJens Wiklander       0 },
672817466cbSJens Wiklander 
673817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA256",
674817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
675817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
676817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
677817466cbSJens Wiklander       0 },
678817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
679817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
680817466cbSJens Wiklander 
681817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
682817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
683817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA",
684817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
685817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
686817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
687817466cbSJens Wiklander       0 },
688817466cbSJens Wiklander 
689817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA",
690817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
691817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
692817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
693817466cbSJens Wiklander       0 },
694817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
695817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
696817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C)
697817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM, "TLS-DHE-RSA-WITH-AES-256-CCM",
698817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
699817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
700817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
701817466cbSJens Wiklander       0 },
702817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8, "TLS-DHE-RSA-WITH-AES-256-CCM-8",
703817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
704817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
705817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
706817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG },
707817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM, "TLS-DHE-RSA-WITH-AES-128-CCM",
708817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
709817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
710817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
711817466cbSJens Wiklander       0 },
712817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8, "TLS-DHE-RSA-WITH-AES-128-CCM-8",
713817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
714817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
715817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
716817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG },
717817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */
718817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
719817466cbSJens Wiklander 
720817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
721817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
722817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
723817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256",
724817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
725817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
726817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
727817466cbSJens Wiklander       0 },
728817466cbSJens Wiklander 
729817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256",
730817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
731817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
732817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
733817466cbSJens Wiklander       0 },
734817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
735817466cbSJens Wiklander 
736817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
737817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA",
738817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
739817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
740817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
741817466cbSJens Wiklander       0 },
742817466cbSJens Wiklander 
743817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA",
744817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
745817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
746817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
747817466cbSJens Wiklander       0 },
748817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
749817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
750817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
751817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
752817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256",
753817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
754817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
755817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
756817466cbSJens Wiklander       0 },
757817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
758817466cbSJens Wiklander 
759*7901324dSJerome Forissier #if defined(HAVE_SHA384)
760817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384",
761817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
762817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
763817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
764817466cbSJens Wiklander       0 },
765*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
766817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
767817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
768817466cbSJens Wiklander 
769817466cbSJens Wiklander #if defined(MBEDTLS_DES_C)
770817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
771817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
772817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA",
773817466cbSJens Wiklander       MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
774817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
775817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
776817466cbSJens Wiklander       0 },
777817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
778817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
779817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */
780817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
781817466cbSJens Wiklander 
782817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
783817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
784*7901324dSJerome Forissier #if defined(HAVE_SHA384) && defined(MBEDTLS_GCM_C)
785817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384, "TLS-RSA-WITH-AES-256-GCM-SHA384",
786817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
787817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
788817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
789817466cbSJens Wiklander       0 },
790*7901324dSJerome Forissier #endif /* HAVE_SHA384 && MBEDTLS_GCM_C */
791817466cbSJens Wiklander 
792817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
793817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
794817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256, "TLS-RSA-WITH-AES-128-GCM-SHA256",
795817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
796817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
797817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
798817466cbSJens Wiklander       0 },
799817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
800817466cbSJens Wiklander 
801817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
802817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256, "TLS-RSA-WITH-AES-128-CBC-SHA256",
803817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
804817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
805817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
806817466cbSJens Wiklander       0 },
807817466cbSJens Wiklander 
808817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256, "TLS-RSA-WITH-AES-256-CBC-SHA256",
809817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
810817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
811817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
812817466cbSJens Wiklander       0 },
813817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
814817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
815817466cbSJens Wiklander 
816817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
817817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
818817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA, "TLS-RSA-WITH-AES-128-CBC-SHA",
819817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
820817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
821817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
822817466cbSJens Wiklander       0 },
823817466cbSJens Wiklander 
824817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA, "TLS-RSA-WITH-AES-256-CBC-SHA",
825817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
826817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
827817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
828817466cbSJens Wiklander       0 },
829817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
830817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
831817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C)
832817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_256_CCM, "TLS-RSA-WITH-AES-256-CCM",
833817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
834817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
835817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
836817466cbSJens Wiklander       0 },
837817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8, "TLS-RSA-WITH-AES-256-CCM-8",
838817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
839817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
840817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
841817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG },
842817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_128_CCM, "TLS-RSA-WITH-AES-128-CCM",
843817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
844817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
845817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
846817466cbSJens Wiklander       0 },
847817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8, "TLS-RSA-WITH-AES-128-CCM-8",
848817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
849817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
850817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
851817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG },
852817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */
853817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
854817466cbSJens Wiklander 
855817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
856817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
857817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
858817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256",
859817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
860817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
861817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
862817466cbSJens Wiklander       0 },
863817466cbSJens Wiklander 
864817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256",
865817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
866817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
867817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
868817466cbSJens Wiklander       0 },
869817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
870817466cbSJens Wiklander 
871817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
872817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA",
873817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
874817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
875817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
876817466cbSJens Wiklander       0 },
877817466cbSJens Wiklander 
878817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA",
879817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
880817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
881817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
882817466cbSJens Wiklander       0 },
883817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
884817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
885817466cbSJens Wiklander 
886817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
887817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
888817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-WITH-CAMELLIA-128-GCM-SHA256",
889817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
890817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
891817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
892817466cbSJens Wiklander       0 },
893817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
894817466cbSJens Wiklander 
895*7901324dSJerome Forissier #if defined(HAVE_SHA384)
896817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-WITH-CAMELLIA-256-GCM-SHA384",
897817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
898817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
899817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
900817466cbSJens Wiklander       0 },
901*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
902817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
903817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
904817466cbSJens Wiklander 
905817466cbSJens Wiklander #if defined(MBEDTLS_DES_C)
906817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
907817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
908817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-RSA-WITH-3DES-EDE-CBC-SHA",
909817466cbSJens Wiklander       MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
910817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
911817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
912817466cbSJens Wiklander       0 },
913817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
914817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
915817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */
916817466cbSJens Wiklander 
917817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C)
918817466cbSJens Wiklander #if defined(MBEDTLS_MD5_C)
919817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_RC4_128_MD5, "TLS-RSA-WITH-RC4-128-MD5",
920817466cbSJens Wiklander       MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_MD5, MBEDTLS_KEY_EXCHANGE_RSA,
921817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
922817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
923817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_NODTLS },
924817466cbSJens Wiklander #endif
925817466cbSJens Wiklander 
926817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
927817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_RC4_128_SHA, "TLS-RSA-WITH-RC4-128-SHA",
928817466cbSJens Wiklander       MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
929817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
930817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
931817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_NODTLS },
932817466cbSJens Wiklander #endif
933817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */
934817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
935817466cbSJens Wiklander 
936817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)
937817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
938817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
939817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
940817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA",
941817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
942817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
943817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
944817466cbSJens Wiklander       0 },
945817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA",
946817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
947817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
948817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
949817466cbSJens Wiklander       0 },
950817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
951817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
952817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
953817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
954817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA256",
955817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
956817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
957817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
958817466cbSJens Wiklander       0 },
959817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
960817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
961817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256",
962817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
963817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
964817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
965817466cbSJens Wiklander       0 },
966817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
967817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
968*7901324dSJerome Forissier #if defined(HAVE_SHA384)
969817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
970817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384",
971817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
972817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
973817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
974817466cbSJens Wiklander       0 },
975817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
976817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
977817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-AES-256-GCM-SHA384",
978817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
979817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
980817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
981817466cbSJens Wiklander       0 },
982817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
983*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
984817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
985817466cbSJens Wiklander 
986817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
987817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
988817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
989817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-CAMELLIA-128-CBC-SHA256",
990817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
991817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
992817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
993817466cbSJens Wiklander       0 },
994817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
995*7901324dSJerome Forissier #if defined(HAVE_SHA384)
996817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-CAMELLIA-256-CBC-SHA384",
997817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
998817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
999817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1000817466cbSJens Wiklander       0 },
1001*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1002817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1003817466cbSJens Wiklander 
1004817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
1005817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1006817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-CAMELLIA-128-GCM-SHA256",
1007817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
1008817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1009817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1010817466cbSJens Wiklander       0 },
1011817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1012*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1013817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-CAMELLIA-256-GCM-SHA384",
1014817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
1015817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1016817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1017817466cbSJens Wiklander       0 },
1018*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1019817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1020817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
1021817466cbSJens Wiklander 
1022817466cbSJens Wiklander #if defined(MBEDTLS_DES_C)
1023817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1024817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1025817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDH-RSA-WITH-3DES-EDE-CBC-SHA",
1026817466cbSJens Wiklander       MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
1027817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1028817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1029817466cbSJens Wiklander       0 },
1030817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1031817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1032817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */
1033817466cbSJens Wiklander 
1034817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C)
1035817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1036817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_RC4_128_SHA, "TLS-ECDH-RSA-WITH-RC4-128-SHA",
1037817466cbSJens Wiklander       MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
1038817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1039817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1040817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_NODTLS },
1041817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1042817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */
1043817466cbSJens Wiklander 
1044817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
1045817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1046817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA, "TLS-ECDH-RSA-WITH-NULL-SHA",
1047817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
1048817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1049817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1050817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1051817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1052817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
1053817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */
1054817466cbSJens Wiklander 
1055817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
1056817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
1057817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1058817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1059817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA",
1060817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1061817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1062817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1063817466cbSJens Wiklander       0 },
1064817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA",
1065817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1066817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1067817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1068817466cbSJens Wiklander       0 },
1069817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1070817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1071817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1072817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1073817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA256",
1074817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1075817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1076817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1077817466cbSJens Wiklander       0 },
1078817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1079817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
1080817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256",
1081817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1082817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1083817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1084817466cbSJens Wiklander       0 },
1085817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1086817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1087*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1088817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1089817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA384",
1090817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1091817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1092817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1093817466cbSJens Wiklander       0 },
1094817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1095817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
1096817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384",
1097817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1098817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1099817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1100817466cbSJens Wiklander       0 },
1101817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1102*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1103817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
1104817466cbSJens Wiklander 
1105817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
1106817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1107817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1108817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-CBC-SHA256",
1109817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1110817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1111817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1112817466cbSJens Wiklander       0 },
1113817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1114*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1115817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384",
1116817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1117817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1118817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1119817466cbSJens Wiklander       0 },
1120*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1121817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1122817466cbSJens Wiklander 
1123817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
1124817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1125817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-GCM-SHA256",
1126817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1127817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1128817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1129817466cbSJens Wiklander       0 },
1130817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1131*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1132817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-GCM-SHA384",
1133817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1134817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1135817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1136817466cbSJens Wiklander       0 },
1137*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1138817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1139817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
1140817466cbSJens Wiklander 
1141817466cbSJens Wiklander #if defined(MBEDTLS_DES_C)
1142817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1143817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1144817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, "TLS-ECDH-ECDSA-WITH-3DES-EDE-CBC-SHA",
1145817466cbSJens Wiklander       MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1146817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1147817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1148817466cbSJens Wiklander       0 },
1149817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1150817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1151817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */
1152817466cbSJens Wiklander 
1153817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C)
1154817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1155817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_RC4_128_SHA, "TLS-ECDH-ECDSA-WITH-RC4-128-SHA",
1156817466cbSJens Wiklander       MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1157817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1158817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1159817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_NODTLS },
1160817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1161817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */
1162817466cbSJens Wiklander 
1163817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
1164817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1165817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA, "TLS-ECDH-ECDSA-WITH-NULL-SHA",
1166817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1167817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1168817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1169817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1170817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1171817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
1172817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
1173817466cbSJens Wiklander 
1174817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
1175817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
1176817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
1177817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1178817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256, "TLS-PSK-WITH-AES-128-GCM-SHA256",
1179817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1180817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1181817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1182817466cbSJens Wiklander       0 },
1183817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1184817466cbSJens Wiklander 
1185*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1186817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384, "TLS-PSK-WITH-AES-256-GCM-SHA384",
1187817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
1188817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1189817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1190817466cbSJens Wiklander       0 },
1191*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1192817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1193817466cbSJens Wiklander 
1194817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1195817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1196817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256, "TLS-PSK-WITH-AES-128-CBC-SHA256",
1197817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1198817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1199817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1200817466cbSJens Wiklander       0 },
1201817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1202817466cbSJens Wiklander 
1203*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1204817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384, "TLS-PSK-WITH-AES-256-CBC-SHA384",
1205817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
1206817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1207817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1208817466cbSJens Wiklander       0 },
1209*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1210817466cbSJens Wiklander 
1211817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1212817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA, "TLS-PSK-WITH-AES-128-CBC-SHA",
1213817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
1214817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
1215817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1216817466cbSJens Wiklander       0 },
1217817466cbSJens Wiklander 
1218817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA, "TLS-PSK-WITH-AES-256-CBC-SHA",
1219817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
1220817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
1221817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1222817466cbSJens Wiklander       0 },
1223817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1224817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1225817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C)
1226817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_256_CCM, "TLS-PSK-WITH-AES-256-CCM",
1227817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1228817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1229817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1230817466cbSJens Wiklander       0 },
1231817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8, "TLS-PSK-WITH-AES-256-CCM-8",
1232817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1233817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1234817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1235817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG },
1236817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_128_CCM, "TLS-PSK-WITH-AES-128-CCM",
1237817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1238817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1239817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1240817466cbSJens Wiklander       0 },
1241817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8, "TLS-PSK-WITH-AES-128-CCM-8",
1242817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1243817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1244817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1245817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG },
1246817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */
1247817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
1248817466cbSJens Wiklander 
1249817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
1250817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1251817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1252817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-PSK-WITH-CAMELLIA-128-CBC-SHA256",
1253817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1254817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1255817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1256817466cbSJens Wiklander       0 },
1257817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1258817466cbSJens Wiklander 
1259*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1260817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-PSK-WITH-CAMELLIA-256-CBC-SHA384",
1261817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
1262817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1263817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1264817466cbSJens Wiklander       0 },
1265*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1266817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1267817466cbSJens Wiklander 
1268817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
1269817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1270817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-PSK-WITH-CAMELLIA-128-GCM-SHA256",
1271817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1272817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1273817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1274817466cbSJens Wiklander       0 },
1275817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1276817466cbSJens Wiklander 
1277*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1278817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-PSK-WITH-CAMELLIA-256-GCM-SHA384",
1279817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
1280817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1281817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1282817466cbSJens Wiklander       0 },
1283*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1284817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1285817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
1286817466cbSJens Wiklander 
1287817466cbSJens Wiklander #if defined(MBEDTLS_DES_C)
1288817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1289817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1290817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-PSK-WITH-3DES-EDE-CBC-SHA",
1291817466cbSJens Wiklander       MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
1292817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
1293817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1294817466cbSJens Wiklander       0 },
1295817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1296817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1297817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */
1298817466cbSJens Wiklander 
1299817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C)
1300817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1301817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_RC4_128_SHA, "TLS-PSK-WITH-RC4-128-SHA",
1302817466cbSJens Wiklander       MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
1303817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
1304817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1305817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_NODTLS },
1306817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1307817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */
1308817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
1309817466cbSJens Wiklander 
1310817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
1311817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
1312817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
1313817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1314817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, "TLS-DHE-PSK-WITH-AES-128-GCM-SHA256",
1315817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1316817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1317817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1318817466cbSJens Wiklander       0 },
1319817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1320817466cbSJens Wiklander 
1321*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1322817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384, "TLS-DHE-PSK-WITH-AES-256-GCM-SHA384",
1323817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1324817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1325817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1326817466cbSJens Wiklander       0 },
1327*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1328817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1329817466cbSJens Wiklander 
1330817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1331817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1332817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA256",
1333817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1334817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1335817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1336817466cbSJens Wiklander       0 },
1337817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1338817466cbSJens Wiklander 
1339*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1340817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA384",
1341817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1342817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1343817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1344817466cbSJens Wiklander       0 },
1345*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1346817466cbSJens Wiklander 
1347817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1348817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA",
1349817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1350817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
1351817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1352817466cbSJens Wiklander       0 },
1353817466cbSJens Wiklander 
1354817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA",
1355817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1356817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
1357817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1358817466cbSJens Wiklander       0 },
1359817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1360817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1361817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C)
1362817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM, "TLS-DHE-PSK-WITH-AES-256-CCM",
1363817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1364817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1365817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1366817466cbSJens Wiklander       0 },
1367817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8, "TLS-DHE-PSK-WITH-AES-256-CCM-8",
1368817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1369817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1370817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1371817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG },
1372817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM, "TLS-DHE-PSK-WITH-AES-128-CCM",
1373817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1374817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1375817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1376817466cbSJens Wiklander       0 },
1377817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8, "TLS-DHE-PSK-WITH-AES-128-CCM-8",
1378817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1379817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1380817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1381817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG },
1382817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */
1383817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
1384817466cbSJens Wiklander 
1385817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
1386817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1387817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1388817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-CBC-SHA256",
1389817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1390817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1391817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1392817466cbSJens Wiklander       0 },
1393817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1394817466cbSJens Wiklander 
1395*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1396817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-CBC-SHA384",
1397817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1398817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1399817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1400817466cbSJens Wiklander       0 },
1401*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1402817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1403817466cbSJens Wiklander 
1404817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
1405817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1406817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-GCM-SHA256",
1407817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1408817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1409817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1410817466cbSJens Wiklander       0 },
1411817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1412817466cbSJens Wiklander 
1413*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1414817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-GCM-SHA384",
1415817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1416817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1417817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1418817466cbSJens Wiklander       0 },
1419*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1420817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1421817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
1422817466cbSJens Wiklander 
1423817466cbSJens Wiklander #if defined(MBEDTLS_DES_C)
1424817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1425817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1426817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-DHE-PSK-WITH-3DES-EDE-CBC-SHA",
1427817466cbSJens Wiklander       MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1428817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
1429817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1430817466cbSJens Wiklander       0 },
1431817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1432817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1433817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */
1434817466cbSJens Wiklander 
1435817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C)
1436817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1437817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA, "TLS-DHE-PSK-WITH-RC4-128-SHA",
1438817466cbSJens Wiklander       MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1439817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
1440817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1441817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_NODTLS },
1442817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1443817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */
1444817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
1445817466cbSJens Wiklander 
1446817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
1447817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
1448817466cbSJens Wiklander 
1449817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1450817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1451817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA256",
1452817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1453817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1454817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1455817466cbSJens Wiklander       0 },
1456817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1457817466cbSJens Wiklander 
1458*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1459817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA384",
1460817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1461817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1462817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1463817466cbSJens Wiklander       0 },
1464*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1465817466cbSJens Wiklander 
1466817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1467817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA",
1468817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1469817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1470817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1471817466cbSJens Wiklander       0 },
1472817466cbSJens Wiklander 
1473817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA",
1474817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1475817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1476817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1477817466cbSJens Wiklander       0 },
1478817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1479817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1480817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
1481817466cbSJens Wiklander 
1482817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
1483817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1484817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1485817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-CAMELLIA-128-CBC-SHA256",
1486817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1487817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1488817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1489817466cbSJens Wiklander       0 },
1490817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1491817466cbSJens Wiklander 
1492*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1493817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-CAMELLIA-256-CBC-SHA384",
1494817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1495817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1496817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1497817466cbSJens Wiklander       0 },
1498*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1499817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1500817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
1501817466cbSJens Wiklander 
1502817466cbSJens Wiklander #if defined(MBEDTLS_DES_C)
1503817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1504817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1505817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-ECDHE-PSK-WITH-3DES-EDE-CBC-SHA",
1506817466cbSJens Wiklander       MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1507817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1508817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1509817466cbSJens Wiklander       0 },
1510817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1511817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1512817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */
1513817466cbSJens Wiklander 
1514817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C)
1515817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1516817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA, "TLS-ECDHE-PSK-WITH-RC4-128-SHA",
1517817466cbSJens Wiklander       MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1518817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1519817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1520817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_NODTLS },
1521817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1522817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */
1523817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
1524817466cbSJens Wiklander 
1525817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
1526817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
1527817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
1528817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1529817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, "TLS-RSA-PSK-WITH-AES-128-GCM-SHA256",
1530817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1531817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1532817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1533817466cbSJens Wiklander       0 },
1534817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1535817466cbSJens Wiklander 
1536*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1537817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, "TLS-RSA-PSK-WITH-AES-256-GCM-SHA384",
1538817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1539817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1540817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1541817466cbSJens Wiklander       0 },
1542*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1543817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1544817466cbSJens Wiklander 
1545817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1546817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1547817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA256",
1548817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1549817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1550817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1551817466cbSJens Wiklander       0 },
1552817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1553817466cbSJens Wiklander 
1554*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1555817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA384",
1556817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1557817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1558817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1559817466cbSJens Wiklander       0 },
1560*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1561817466cbSJens Wiklander 
1562817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1563817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA",
1564817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1565817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1566817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1567817466cbSJens Wiklander       0 },
1568817466cbSJens Wiklander 
1569817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA",
1570817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1571817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1572817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1573817466cbSJens Wiklander       0 },
1574817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1575817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1576817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
1577817466cbSJens Wiklander 
1578817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
1579817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1580817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1581817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-CBC-SHA256",
1582817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1583817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1584817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1585817466cbSJens Wiklander       0 },
1586817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1587817466cbSJens Wiklander 
1588*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1589817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-CBC-SHA384",
1590817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1591817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1592817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1593817466cbSJens Wiklander       0 },
1594*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1595817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1596817466cbSJens Wiklander 
1597817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
1598817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1599817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-GCM-SHA256",
1600817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1601817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1602817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1603817466cbSJens Wiklander       0 },
1604817466cbSJens Wiklander #endif /* MBEDTLS_SHA256_C */
1605817466cbSJens Wiklander 
1606*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1607817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-GCM-SHA384",
1608817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1609817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1610817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1611817466cbSJens Wiklander       0 },
1612*7901324dSJerome Forissier #endif /* HAVE_SHA384 */
1613817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1614817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
1615817466cbSJens Wiklander 
1616817466cbSJens Wiklander #if defined(MBEDTLS_DES_C)
1617817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1618817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1619817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA, "TLS-RSA-PSK-WITH-3DES-EDE-CBC-SHA",
1620817466cbSJens Wiklander       MBEDTLS_CIPHER_DES_EDE3_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1621817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1622817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1623817466cbSJens Wiklander       0 },
1624817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1625817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1626817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */
1627817466cbSJens Wiklander 
1628817466cbSJens Wiklander #if defined(MBEDTLS_ARC4_C)
1629817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1630817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA, "TLS-RSA-PSK-WITH-RC4-128-SHA",
1631817466cbSJens Wiklander       MBEDTLS_CIPHER_ARC4_128, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1632817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1633817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1634817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_NODTLS },
1635817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1636817466cbSJens Wiklander #endif /* MBEDTLS_ARC4_C */
1637817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
1638817466cbSJens Wiklander 
1639817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
1640817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
1641817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C)
1642817466cbSJens Wiklander     { MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8, "TLS-ECJPAKE-WITH-AES-128-CCM-8",
1643817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECJPAKE,
1644817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1645817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1646817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG },
1647817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */
1648817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
1649817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */
1650817466cbSJens Wiklander 
1651817466cbSJens Wiklander #if defined(MBEDTLS_ENABLE_WEAK_CIPHERSUITES)
1652817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
1653817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
1654817466cbSJens Wiklander #if defined(MBEDTLS_MD5_C)
1655817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_NULL_MD5, "TLS-RSA-WITH-NULL-MD5",
1656817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_MD5, MBEDTLS_KEY_EXCHANGE_RSA,
1657817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
1658817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1659817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1660817466cbSJens Wiklander #endif
1661817466cbSJens Wiklander 
1662817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1663817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_NULL_SHA, "TLS-RSA-WITH-NULL-SHA",
1664817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
1665817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
1666817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1667817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1668817466cbSJens Wiklander #endif
1669817466cbSJens Wiklander 
1670817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1671817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_NULL_SHA256, "TLS-RSA-WITH-NULL-SHA256",
1672817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
1673817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1674817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1675817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1676817466cbSJens Wiklander #endif
1677817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
1678817466cbSJens Wiklander 
1679817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
1680817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1681817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_NULL_SHA, "TLS-PSK-WITH-NULL-SHA",
1682817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
1683817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
1684817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1685817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1686817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1687817466cbSJens Wiklander 
1688817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1689817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_NULL_SHA256, "TLS-PSK-WITH-NULL-SHA256",
1690817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1691817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1692817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1693817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1694817466cbSJens Wiklander #endif
1695817466cbSJens Wiklander 
1696*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1697817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_NULL_SHA384, "TLS-PSK-WITH-NULL-SHA384",
1698817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
1699817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1700817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1701817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1702817466cbSJens Wiklander #endif
1703817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
1704817466cbSJens Wiklander 
1705817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
1706817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1707817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA, "TLS-DHE-PSK-WITH-NULL-SHA",
1708817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1709817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
1710817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1711817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1712817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1713817466cbSJens Wiklander 
1714817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1715817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256, "TLS-DHE-PSK-WITH-NULL-SHA256",
1716817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1717817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1718817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1719817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1720817466cbSJens Wiklander #endif
1721817466cbSJens Wiklander 
1722*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1723817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384, "TLS-DHE-PSK-WITH-NULL-SHA384",
1724817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1725817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1726817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1727817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1728817466cbSJens Wiklander #endif
1729817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
1730817466cbSJens Wiklander 
1731817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
1732817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1733817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA, "TLS-ECDHE-PSK-WITH-NULL-SHA",
1734817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1735817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1736817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1737817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1738817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1739817466cbSJens Wiklander 
1740817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1741817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256, "TLS-ECDHE-PSK-WITH-NULL-SHA256",
1742817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1743817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1744817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1745817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1746817466cbSJens Wiklander #endif
1747817466cbSJens Wiklander 
1748*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1749817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384, "TLS-ECDHE-PSK-WITH-NULL-SHA384",
1750817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1751817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1752817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1753817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1754817466cbSJens Wiklander #endif
1755817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
1756817466cbSJens Wiklander 
1757817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
1758817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1759817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA, "TLS-RSA-PSK-WITH-NULL-SHA",
1760817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1761817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1762817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1763817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1764817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1765817466cbSJens Wiklander 
1766817466cbSJens Wiklander #if defined(MBEDTLS_SHA256_C)
1767817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256, "TLS-RSA-PSK-WITH-NULL-SHA256",
1768817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1769817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1770817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1771817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1772817466cbSJens Wiklander #endif
1773817466cbSJens Wiklander 
1774*7901324dSJerome Forissier #if defined(HAVE_SHA384)
1775817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384, "TLS-RSA-PSK-WITH-NULL-SHA384",
1776817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1777817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_1,
1778817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1779817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1780817466cbSJens Wiklander #endif
1781817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
1782817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
1783817466cbSJens Wiklander 
1784817466cbSJens Wiklander #if defined(MBEDTLS_DES_C)
1785817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1786817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
1787817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1788817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_DES_CBC_SHA, "TLS-DHE-RSA-WITH-DES-CBC-SHA",
1789817466cbSJens Wiklander       MBEDTLS_CIPHER_DES_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
1790817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
1791817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1792817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1793817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1794817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
1795817466cbSJens Wiklander 
1796817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
1797817466cbSJens Wiklander #if defined(MBEDTLS_SHA1_C)
1798817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_DES_CBC_SHA, "TLS-RSA-WITH-DES-CBC-SHA",
1799817466cbSJens Wiklander       MBEDTLS_CIPHER_DES_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
1800817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0,
1801817466cbSJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1802817466cbSJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK },
1803817466cbSJens Wiklander #endif /* MBEDTLS_SHA1_C */
1804817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
1805817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1806817466cbSJens Wiklander #endif /* MBEDTLS_DES_C */
1807817466cbSJens Wiklander #endif /* MBEDTLS_ENABLE_WEAK_CIPHERSUITES */
1808817466cbSJens Wiklander 
18093d3b0591SJens Wiklander #if defined(MBEDTLS_ARIA_C)
18103d3b0591SJens Wiklander 
18113d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
18123d3b0591SJens Wiklander 
1813*7901324dSJerome Forissier #if (defined(MBEDTLS_GCM_C) && defined(HAVE_SHA384))
18143d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384,
18153d3b0591SJens Wiklander              "TLS-RSA-WITH-ARIA-256-GCM-SHA384",
18163d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
18173d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18183d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18193d3b0591SJens Wiklander       0 },
18203d3b0591SJens Wiklander #endif
1821*7901324dSJerome Forissier #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(HAVE_SHA384))
18223d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384,
18233d3b0591SJens Wiklander              "TLS-RSA-WITH-ARIA-256-CBC-SHA384",
18243d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
18253d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18263d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18273d3b0591SJens Wiklander       0 },
18283d3b0591SJens Wiklander #endif
18293d3b0591SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
18303d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256,
18313d3b0591SJens Wiklander              "TLS-RSA-WITH-ARIA-128-GCM-SHA256",
18323d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
18333d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18343d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18353d3b0591SJens Wiklander       0 },
18363d3b0591SJens Wiklander #endif
18373d3b0591SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
18383d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256,
18393d3b0591SJens Wiklander              "TLS-RSA-WITH-ARIA-128-CBC-SHA256",
18403d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
18413d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18423d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18433d3b0591SJens Wiklander       0 },
18443d3b0591SJens Wiklander #endif
18453d3b0591SJens Wiklander 
18463d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
18473d3b0591SJens Wiklander 
18483d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
18493d3b0591SJens Wiklander 
1850*7901324dSJerome Forissier #if (defined(MBEDTLS_GCM_C) && defined(HAVE_SHA384))
18513d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
18523d3b0591SJens Wiklander              "TLS-RSA-PSK-WITH-ARIA-256-GCM-SHA384",
18533d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
18543d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18553d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18563d3b0591SJens Wiklander       0 },
18573d3b0591SJens Wiklander #endif
1858*7901324dSJerome Forissier #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(HAVE_SHA384))
18593d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384,
18603d3b0591SJens Wiklander              "TLS-RSA-PSK-WITH-ARIA-256-CBC-SHA384",
18613d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
18623d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18633d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18643d3b0591SJens Wiklander       0 },
18653d3b0591SJens Wiklander #endif
18663d3b0591SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
18673d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
18683d3b0591SJens Wiklander              "TLS-RSA-PSK-WITH-ARIA-128-GCM-SHA256",
18693d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
18703d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18713d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18723d3b0591SJens Wiklander       0 },
18733d3b0591SJens Wiklander #endif
18743d3b0591SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
18753d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256,
18763d3b0591SJens Wiklander              "TLS-RSA-PSK-WITH-ARIA-128-CBC-SHA256",
18773d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
18783d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18793d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18803d3b0591SJens Wiklander       0 },
18813d3b0591SJens Wiklander #endif
18823d3b0591SJens Wiklander 
18833d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
18843d3b0591SJens Wiklander 
18853d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
18863d3b0591SJens Wiklander 
1887*7901324dSJerome Forissier #if (defined(MBEDTLS_GCM_C) && defined(HAVE_SHA384))
18883d3b0591SJens Wiklander     { MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384,
18893d3b0591SJens Wiklander              "TLS-PSK-WITH-ARIA-256-GCM-SHA384",
18903d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384,MBEDTLS_KEY_EXCHANGE_PSK,
18913d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18923d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
18933d3b0591SJens Wiklander       0 },
18943d3b0591SJens Wiklander #endif
1895*7901324dSJerome Forissier #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(HAVE_SHA384))
18963d3b0591SJens Wiklander     { MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384,
18973d3b0591SJens Wiklander              "TLS-PSK-WITH-ARIA-256-CBC-SHA384",
18983d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
18993d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19003d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19013d3b0591SJens Wiklander       0 },
19023d3b0591SJens Wiklander #endif
19033d3b0591SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
19043d3b0591SJens Wiklander     { MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256,
19053d3b0591SJens Wiklander              "TLS-PSK-WITH-ARIA-128-GCM-SHA256",
19063d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
19073d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19083d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19093d3b0591SJens Wiklander       0 },
19103d3b0591SJens Wiklander #endif
19113d3b0591SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
19123d3b0591SJens Wiklander     { MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256,
19133d3b0591SJens Wiklander              "TLS-PSK-WITH-ARIA-128-CBC-SHA256",
19143d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
19153d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19163d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19173d3b0591SJens Wiklander       0 },
19183d3b0591SJens Wiklander #endif
19193d3b0591SJens Wiklander 
19203d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
19213d3b0591SJens Wiklander 
19223d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)
19233d3b0591SJens Wiklander 
1924*7901324dSJerome Forissier #if (defined(MBEDTLS_GCM_C) && defined(HAVE_SHA384))
19253d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384,
19263d3b0591SJens Wiklander              "TLS-ECDH-RSA-WITH-ARIA-256-GCM-SHA384",
19273d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
19283d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19293d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19303d3b0591SJens Wiklander       0 },
19313d3b0591SJens Wiklander #endif
1932*7901324dSJerome Forissier #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(HAVE_SHA384))
19333d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384,
19343d3b0591SJens Wiklander              "TLS-ECDH-RSA-WITH-ARIA-256-CBC-SHA384",
19353d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
19363d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19373d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19383d3b0591SJens Wiklander       0 },
19393d3b0591SJens Wiklander #endif
19403d3b0591SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
19413d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256,
19423d3b0591SJens Wiklander              "TLS-ECDH-RSA-WITH-ARIA-128-GCM-SHA256",
19433d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
19443d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19453d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19463d3b0591SJens Wiklander       0 },
19473d3b0591SJens Wiklander #endif
19483d3b0591SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
19493d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256,
19503d3b0591SJens Wiklander              "TLS-ECDH-RSA-WITH-ARIA-128-CBC-SHA256",
19513d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
19523d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19533d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19543d3b0591SJens Wiklander       0 },
19553d3b0591SJens Wiklander #endif
19563d3b0591SJens Wiklander 
19573d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */
19583d3b0591SJens Wiklander 
19593d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
19603d3b0591SJens Wiklander 
1961*7901324dSJerome Forissier #if (defined(MBEDTLS_GCM_C) && defined(HAVE_SHA384))
19623d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
19633d3b0591SJens Wiklander              "TLS-ECDHE-RSA-WITH-ARIA-256-GCM-SHA384",
19643d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
19653d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19663d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19673d3b0591SJens Wiklander       0 },
19683d3b0591SJens Wiklander #endif
1969*7901324dSJerome Forissier #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(HAVE_SHA384))
19703d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,
19713d3b0591SJens Wiklander              "TLS-ECDHE-RSA-WITH-ARIA-256-CBC-SHA384",
19723d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
19733d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19743d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19753d3b0591SJens Wiklander       0 },
19763d3b0591SJens Wiklander #endif
19773d3b0591SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
19783d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
19793d3b0591SJens Wiklander              "TLS-ECDHE-RSA-WITH-ARIA-128-GCM-SHA256",
19803d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
19813d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19823d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19833d3b0591SJens Wiklander       0 },
19843d3b0591SJens Wiklander #endif
19853d3b0591SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
19863d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,
19873d3b0591SJens Wiklander              "TLS-ECDHE-RSA-WITH-ARIA-128-CBC-SHA256",
19883d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
19893d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19903d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
19913d3b0591SJens Wiklander       0 },
19923d3b0591SJens Wiklander #endif
19933d3b0591SJens Wiklander 
19943d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
19953d3b0591SJens Wiklander 
19963d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
19973d3b0591SJens Wiklander 
1998*7901324dSJerome Forissier #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(HAVE_SHA384))
19993d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384,
20003d3b0591SJens Wiklander              "TLS-ECDHE-PSK-WITH-ARIA-256-CBC-SHA384",
20013d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
20023d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20033d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20043d3b0591SJens Wiklander       0 },
20053d3b0591SJens Wiklander #endif
20063d3b0591SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
20073d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256,
20083d3b0591SJens Wiklander              "TLS-ECDHE-PSK-WITH-ARIA-128-CBC-SHA256",
20093d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
20103d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20113d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20123d3b0591SJens Wiklander       0 },
20133d3b0591SJens Wiklander #endif
20143d3b0591SJens Wiklander 
20153d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
20163d3b0591SJens Wiklander 
20173d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
20183d3b0591SJens Wiklander 
2019*7901324dSJerome Forissier #if (defined(MBEDTLS_GCM_C) && defined(HAVE_SHA384))
20203d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
20213d3b0591SJens Wiklander              "TLS-ECDHE-ECDSA-WITH-ARIA-256-GCM-SHA384",
20223d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
20233d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20243d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20253d3b0591SJens Wiklander       0 },
20263d3b0591SJens Wiklander #endif
2027*7901324dSJerome Forissier #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(HAVE_SHA384))
20283d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,
20293d3b0591SJens Wiklander              "TLS-ECDHE-ECDSA-WITH-ARIA-256-CBC-SHA384",
20303d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
20313d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20323d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20333d3b0591SJens Wiklander       0 },
20343d3b0591SJens Wiklander #endif
20353d3b0591SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
20363d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
20373d3b0591SJens Wiklander              "TLS-ECDHE-ECDSA-WITH-ARIA-128-GCM-SHA256",
20383d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
20393d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20403d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20413d3b0591SJens Wiklander       0 },
20423d3b0591SJens Wiklander #endif
20433d3b0591SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
20443d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,
20453d3b0591SJens Wiklander              "TLS-ECDHE-ECDSA-WITH-ARIA-128-CBC-SHA256",
20463d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
20473d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20483d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20493d3b0591SJens Wiklander       0 },
20503d3b0591SJens Wiklander #endif
20513d3b0591SJens Wiklander 
20523d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
20533d3b0591SJens Wiklander 
20543d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
20553d3b0591SJens Wiklander 
2056*7901324dSJerome Forissier #if (defined(MBEDTLS_GCM_C) && defined(HAVE_SHA384))
20573d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384,
20583d3b0591SJens Wiklander              "TLS-ECDH-ECDSA-WITH-ARIA-256-GCM-SHA384",
20593d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
20603d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20613d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20623d3b0591SJens Wiklander       0 },
20633d3b0591SJens Wiklander #endif
2064*7901324dSJerome Forissier #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(HAVE_SHA384))
20653d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384,
20663d3b0591SJens Wiklander              "TLS-ECDH-ECDSA-WITH-ARIA-256-CBC-SHA384",
20673d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
20683d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20693d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20703d3b0591SJens Wiklander       0 },
20713d3b0591SJens Wiklander #endif
20723d3b0591SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
20733d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256,
20743d3b0591SJens Wiklander              "TLS-ECDH-ECDSA-WITH-ARIA-128-GCM-SHA256",
20753d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
20763d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20773d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20783d3b0591SJens Wiklander       0 },
20793d3b0591SJens Wiklander #endif
20803d3b0591SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
20813d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256,
20823d3b0591SJens Wiklander              "TLS-ECDH-ECDSA-WITH-ARIA-128-CBC-SHA256",
20833d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
20843d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20853d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20863d3b0591SJens Wiklander       0 },
20873d3b0591SJens Wiklander #endif
20883d3b0591SJens Wiklander 
20893d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
20903d3b0591SJens Wiklander 
20913d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
20923d3b0591SJens Wiklander 
2093*7901324dSJerome Forissier #if (defined(MBEDTLS_GCM_C) && defined(HAVE_SHA384))
20943d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
20953d3b0591SJens Wiklander              "TLS-DHE-RSA-WITH-ARIA-256-GCM-SHA384",
20963d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
20973d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20983d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
20993d3b0591SJens Wiklander       0 },
21003d3b0591SJens Wiklander #endif
2101*7901324dSJerome Forissier #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(HAVE_SHA384))
21023d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,
21033d3b0591SJens Wiklander              "TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384",
21043d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
21053d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
21063d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
21073d3b0591SJens Wiklander       0 },
21083d3b0591SJens Wiklander #endif
21093d3b0591SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
21103d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
21113d3b0591SJens Wiklander              "TLS-DHE-RSA-WITH-ARIA-128-GCM-SHA256",
21123d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
21133d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
21143d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
21153d3b0591SJens Wiklander       0 },
21163d3b0591SJens Wiklander #endif
21173d3b0591SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
21183d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,
21193d3b0591SJens Wiklander              "TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256",
21203d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
21213d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
21223d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
21233d3b0591SJens Wiklander       0 },
21243d3b0591SJens Wiklander #endif
21253d3b0591SJens Wiklander 
21263d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
21273d3b0591SJens Wiklander 
21283d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
21293d3b0591SJens Wiklander 
2130*7901324dSJerome Forissier #if (defined(MBEDTLS_GCM_C) && defined(HAVE_SHA384))
21313d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
21323d3b0591SJens Wiklander              "TLS-DHE-PSK-WITH-ARIA-256-GCM-SHA384",
21333d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
21343d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
21353d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
21363d3b0591SJens Wiklander       0 },
21373d3b0591SJens Wiklander #endif
2138*7901324dSJerome Forissier #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(HAVE_SHA384))
21393d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384,
21403d3b0591SJens Wiklander              "TLS-DHE-PSK-WITH-ARIA-256-CBC-SHA384",
21413d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
21423d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
21433d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
21443d3b0591SJens Wiklander       0 },
21453d3b0591SJens Wiklander #endif
21463d3b0591SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
21473d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
21483d3b0591SJens Wiklander              "TLS-DHE-PSK-WITH-ARIA-128-GCM-SHA256",
21493d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
21503d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
21513d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
21523d3b0591SJens Wiklander       0 },
21533d3b0591SJens Wiklander #endif
21543d3b0591SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
21553d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256,
21563d3b0591SJens Wiklander              "TLS-DHE-PSK-WITH-ARIA-128-CBC-SHA256",
21573d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
21583d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
21593d3b0591SJens Wiklander       MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
21603d3b0591SJens Wiklander       0 },
21613d3b0591SJens Wiklander #endif
21623d3b0591SJens Wiklander 
21633d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
21643d3b0591SJens Wiklander 
21653d3b0591SJens Wiklander #endif /* MBEDTLS_ARIA_C */
21663d3b0591SJens Wiklander 
21673d3b0591SJens Wiklander 
2168817466cbSJens Wiklander     { 0, "",
2169817466cbSJens Wiklander       MBEDTLS_CIPHER_NONE, MBEDTLS_MD_NONE, MBEDTLS_KEY_EXCHANGE_NONE,
2170817466cbSJens Wiklander       0, 0, 0, 0, 0 }
2171817466cbSJens Wiklander };
2172817466cbSJens Wiklander 
2173817466cbSJens Wiklander #if defined(MBEDTLS_SSL_CIPHERSUITES)
2174817466cbSJens Wiklander const int *mbedtls_ssl_list_ciphersuites( void )
2175817466cbSJens Wiklander {
2176817466cbSJens Wiklander     return( ciphersuite_preference );
2177817466cbSJens Wiklander }
2178817466cbSJens Wiklander #else
2179817466cbSJens Wiklander #define MAX_CIPHERSUITES    sizeof( ciphersuite_definitions     ) /         \
2180817466cbSJens Wiklander                             sizeof( ciphersuite_definitions[0]  )
2181817466cbSJens Wiklander static int supported_ciphersuites[MAX_CIPHERSUITES];
2182817466cbSJens Wiklander static int supported_init = 0;
2183817466cbSJens Wiklander 
21845b25c76aSJerome Forissier static int ciphersuite_is_removed( const mbedtls_ssl_ciphersuite_t *cs_info )
21855b25c76aSJerome Forissier {
21865b25c76aSJerome Forissier     (void)cs_info;
21875b25c76aSJerome Forissier 
21885b25c76aSJerome Forissier #if defined(MBEDTLS_REMOVE_ARC4_CIPHERSUITES)
21895b25c76aSJerome Forissier     if( cs_info->cipher == MBEDTLS_CIPHER_ARC4_128 )
21905b25c76aSJerome Forissier         return( 1 );
21915b25c76aSJerome Forissier #endif /* MBEDTLS_REMOVE_ARC4_CIPHERSUITES */
21925b25c76aSJerome Forissier 
21935b25c76aSJerome Forissier #if defined(MBEDTLS_REMOVE_3DES_CIPHERSUITES)
21945b25c76aSJerome Forissier     if( cs_info->cipher == MBEDTLS_CIPHER_DES_EDE3_ECB ||
21955b25c76aSJerome Forissier         cs_info->cipher == MBEDTLS_CIPHER_DES_EDE3_CBC )
21965b25c76aSJerome Forissier     {
21975b25c76aSJerome Forissier         return( 1 );
21985b25c76aSJerome Forissier     }
21995b25c76aSJerome Forissier #endif /* MBEDTLS_REMOVE_3DES_CIPHERSUITES */
22005b25c76aSJerome Forissier 
22015b25c76aSJerome Forissier     return( 0 );
22025b25c76aSJerome Forissier }
22035b25c76aSJerome Forissier 
2204817466cbSJens Wiklander const int *mbedtls_ssl_list_ciphersuites( void )
2205817466cbSJens Wiklander {
2206817466cbSJens Wiklander     /*
2207817466cbSJens Wiklander      * On initial call filter out all ciphersuites not supported by current
2208817466cbSJens Wiklander      * build based on presence in the ciphersuite_definitions.
2209817466cbSJens Wiklander      */
2210817466cbSJens Wiklander     if( supported_init == 0 )
2211817466cbSJens Wiklander     {
2212817466cbSJens Wiklander         const int *p;
2213817466cbSJens Wiklander         int *q;
2214817466cbSJens Wiklander 
2215817466cbSJens Wiklander         for( p = ciphersuite_preference, q = supported_ciphersuites;
2216817466cbSJens Wiklander              *p != 0 && q < supported_ciphersuites + MAX_CIPHERSUITES - 1;
2217817466cbSJens Wiklander              p++ )
2218817466cbSJens Wiklander         {
2219817466cbSJens Wiklander             const mbedtls_ssl_ciphersuite_t *cs_info;
2220817466cbSJens Wiklander             if( ( cs_info = mbedtls_ssl_ciphersuite_from_id( *p ) ) != NULL &&
22215b25c76aSJerome Forissier                 !ciphersuite_is_removed( cs_info ) )
22225b25c76aSJerome Forissier             {
2223817466cbSJens Wiklander                 *(q++) = *p;
2224817466cbSJens Wiklander             }
22255b25c76aSJerome Forissier         }
2226817466cbSJens Wiklander         *q = 0;
2227817466cbSJens Wiklander 
2228817466cbSJens Wiklander         supported_init = 1;
2229817466cbSJens Wiklander     }
2230817466cbSJens Wiklander 
2231817466cbSJens Wiklander     return( supported_ciphersuites );
2232817466cbSJens Wiklander }
2233817466cbSJens Wiklander #endif /* MBEDTLS_SSL_CIPHERSUITES */
2234817466cbSJens Wiklander 
2235817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_string(
2236817466cbSJens Wiklander                                                 const char *ciphersuite_name )
2237817466cbSJens Wiklander {
2238817466cbSJens Wiklander     const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions;
2239817466cbSJens Wiklander 
2240817466cbSJens Wiklander     if( NULL == ciphersuite_name )
2241817466cbSJens Wiklander         return( NULL );
2242817466cbSJens Wiklander 
2243817466cbSJens Wiklander     while( cur->id != 0 )
2244817466cbSJens Wiklander     {
2245817466cbSJens Wiklander         if( 0 == strcmp( cur->name, ciphersuite_name ) )
2246817466cbSJens Wiklander             return( cur );
2247817466cbSJens Wiklander 
2248817466cbSJens Wiklander         cur++;
2249817466cbSJens Wiklander     }
2250817466cbSJens Wiklander 
2251817466cbSJens Wiklander     return( NULL );
2252817466cbSJens Wiklander }
2253817466cbSJens Wiklander 
2254817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_id( int ciphersuite )
2255817466cbSJens Wiklander {
2256817466cbSJens Wiklander     const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions;
2257817466cbSJens Wiklander 
2258817466cbSJens Wiklander     while( cur->id != 0 )
2259817466cbSJens Wiklander     {
2260817466cbSJens Wiklander         if( cur->id == ciphersuite )
2261817466cbSJens Wiklander             return( cur );
2262817466cbSJens Wiklander 
2263817466cbSJens Wiklander         cur++;
2264817466cbSJens Wiklander     }
2265817466cbSJens Wiklander 
2266817466cbSJens Wiklander     return( NULL );
2267817466cbSJens Wiklander }
2268817466cbSJens Wiklander 
2269817466cbSJens Wiklander const char *mbedtls_ssl_get_ciphersuite_name( const int ciphersuite_id )
2270817466cbSJens Wiklander {
2271817466cbSJens Wiklander     const mbedtls_ssl_ciphersuite_t *cur;
2272817466cbSJens Wiklander 
2273817466cbSJens Wiklander     cur = mbedtls_ssl_ciphersuite_from_id( ciphersuite_id );
2274817466cbSJens Wiklander 
2275817466cbSJens Wiklander     if( cur == NULL )
2276817466cbSJens Wiklander         return( "unknown" );
2277817466cbSJens Wiklander 
2278817466cbSJens Wiklander     return( cur->name );
2279817466cbSJens Wiklander }
2280817466cbSJens Wiklander 
2281817466cbSJens Wiklander int mbedtls_ssl_get_ciphersuite_id( const char *ciphersuite_name )
2282817466cbSJens Wiklander {
2283817466cbSJens Wiklander     const mbedtls_ssl_ciphersuite_t *cur;
2284817466cbSJens Wiklander 
2285817466cbSJens Wiklander     cur = mbedtls_ssl_ciphersuite_from_string( ciphersuite_name );
2286817466cbSJens Wiklander 
2287817466cbSJens Wiklander     if( cur == NULL )
2288817466cbSJens Wiklander         return( 0 );
2289817466cbSJens Wiklander 
2290817466cbSJens Wiklander     return( cur->id );
2291817466cbSJens Wiklander }
2292817466cbSJens Wiklander 
2293817466cbSJens Wiklander #if defined(MBEDTLS_PK_C)
2294817466cbSJens Wiklander mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_pk_alg( const mbedtls_ssl_ciphersuite_t *info )
2295817466cbSJens Wiklander {
2296817466cbSJens Wiklander     switch( info->key_exchange )
2297817466cbSJens Wiklander     {
2298817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_RSA:
2299817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
2300817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
2301817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_RSA_PSK:
2302817466cbSJens Wiklander             return( MBEDTLS_PK_RSA );
2303817466cbSJens Wiklander 
2304817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
2305817466cbSJens Wiklander             return( MBEDTLS_PK_ECDSA );
2306817466cbSJens Wiklander 
2307817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
2308817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
2309817466cbSJens Wiklander             return( MBEDTLS_PK_ECKEY );
2310817466cbSJens Wiklander 
2311817466cbSJens Wiklander         default:
2312817466cbSJens Wiklander             return( MBEDTLS_PK_NONE );
2313817466cbSJens Wiklander     }
2314817466cbSJens Wiklander }
2315817466cbSJens Wiklander 
2316817466cbSJens Wiklander mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_alg( const mbedtls_ssl_ciphersuite_t *info )
2317817466cbSJens Wiklander {
2318817466cbSJens Wiklander     switch( info->key_exchange )
2319817466cbSJens Wiklander     {
2320817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_RSA:
2321817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
2322817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
2323817466cbSJens Wiklander             return( MBEDTLS_PK_RSA );
2324817466cbSJens Wiklander 
2325817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
2326817466cbSJens Wiklander             return( MBEDTLS_PK_ECDSA );
2327817466cbSJens Wiklander 
2328817466cbSJens Wiklander         default:
2329817466cbSJens Wiklander             return( MBEDTLS_PK_NONE );
2330817466cbSJens Wiklander     }
2331817466cbSJens Wiklander }
2332817466cbSJens Wiklander 
2333817466cbSJens Wiklander #endif /* MBEDTLS_PK_C */
2334817466cbSJens Wiklander 
23353d3b0591SJens Wiklander #if defined(MBEDTLS_ECDH_C) || defined(MBEDTLS_ECDSA_C) || \
23363d3b0591SJens Wiklander     defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
2337817466cbSJens Wiklander int mbedtls_ssl_ciphersuite_uses_ec( const mbedtls_ssl_ciphersuite_t *info )
2338817466cbSJens Wiklander {
2339817466cbSJens Wiklander     switch( info->key_exchange )
2340817466cbSJens Wiklander     {
2341817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
2342817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
2343817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK:
2344817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
2345817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
23463d3b0591SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECJPAKE:
2347817466cbSJens Wiklander             return( 1 );
2348817466cbSJens Wiklander 
2349817466cbSJens Wiklander         default:
2350817466cbSJens Wiklander             return( 0 );
2351817466cbSJens Wiklander     }
2352817466cbSJens Wiklander }
23533d3b0591SJens Wiklander #endif /* MBEDTLS_ECDH_C || MBEDTLS_ECDSA_C || MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED*/
2354817466cbSJens Wiklander 
235511fa71b9SJerome Forissier #if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED)
2356817466cbSJens Wiklander int mbedtls_ssl_ciphersuite_uses_psk( const mbedtls_ssl_ciphersuite_t *info )
2357817466cbSJens Wiklander {
2358817466cbSJens Wiklander     switch( info->key_exchange )
2359817466cbSJens Wiklander     {
2360817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_PSK:
2361817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_RSA_PSK:
2362817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_DHE_PSK:
2363817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK:
2364817466cbSJens Wiklander             return( 1 );
2365817466cbSJens Wiklander 
2366817466cbSJens Wiklander         default:
2367817466cbSJens Wiklander             return( 0 );
2368817466cbSJens Wiklander     }
2369817466cbSJens Wiklander }
237011fa71b9SJerome Forissier #endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */
2371817466cbSJens Wiklander 
2372817466cbSJens Wiklander #endif /* MBEDTLS_SSL_TLS_C */
2373