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