xref: /optee_os/lib/libmbedtls/mbedtls/library/ssl_ciphersuites.c (revision 32b3180828fa15a49ccc86ecb4be9d274c140c89)
1817466cbSJens Wiklander /**
2817466cbSJens Wiklander  * \file ssl_ciphersuites.c
3817466cbSJens Wiklander  *
4817466cbSJens Wiklander  * \brief SSL ciphersuites for mbed TLS
5817466cbSJens Wiklander  *
67901324dSJerome Forissier  *  Copyright The Mbed TLS Contributors
77901324dSJerome Forissier  *  SPDX-License-Identifier: Apache-2.0
8817466cbSJens Wiklander  *
9817466cbSJens Wiklander  *  Licensed under the Apache License, Version 2.0 (the "License"); you may
10817466cbSJens Wiklander  *  not use this file except in compliance with the License.
11817466cbSJens Wiklander  *  You may obtain a copy of the License at
12817466cbSJens Wiklander  *
13817466cbSJens Wiklander  *  http://www.apache.org/licenses/LICENSE-2.0
14817466cbSJens Wiklander  *
15817466cbSJens Wiklander  *  Unless required by applicable law or agreed to in writing, software
16817466cbSJens Wiklander  *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17817466cbSJens Wiklander  *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18817466cbSJens Wiklander  *  See the License for the specific language governing permissions and
19817466cbSJens Wiklander  *  limitations under the License.
20817466cbSJens Wiklander  */
21817466cbSJens Wiklander 
227901324dSJerome Forissier #include "common.h"
23817466cbSJens Wiklander 
24817466cbSJens Wiklander #if defined(MBEDTLS_SSL_TLS_C)
25817466cbSJens Wiklander 
26817466cbSJens Wiklander #include "mbedtls/platform.h"
27817466cbSJens Wiklander 
28817466cbSJens Wiklander #include "mbedtls/ssl_ciphersuites.h"
29817466cbSJens Wiklander #include "mbedtls/ssl.h"
30*32b31808SJens Wiklander #include "ssl_misc.h"
31*32b31808SJens Wiklander 
32*32b31808SJens Wiklander #include "mbedtls/legacy_or_psa.h"
33817466cbSJens Wiklander 
34817466cbSJens Wiklander #include <string.h>
35817466cbSJens Wiklander 
36817466cbSJens Wiklander /*
37817466cbSJens Wiklander  * Ordered from most preferred to least preferred in terms of security.
38817466cbSJens Wiklander  *
39*32b31808SJens Wiklander  * Current rule (except weak and null which come last):
40817466cbSJens Wiklander  * 1. By key exchange:
41817466cbSJens Wiklander  *    Forward-secure non-PSK > forward-secure PSK > ECJPAKE > other non-PSK > other PSK
42817466cbSJens Wiklander  * 2. By key length and cipher:
435b25c76aSJerome Forissier  *    ChaCha > AES-256 > Camellia-256 > ARIA-256 > AES-128 > Camellia-128 > ARIA-128
44817466cbSJens Wiklander  * 3. By cipher mode when relevant GCM > CCM > CBC > CCM_8
45817466cbSJens Wiklander  * 4. By hash function used when relevant
46817466cbSJens Wiklander  * 5. By key exchange/auth again: EC > non-EC
47817466cbSJens Wiklander  */
48817466cbSJens Wiklander static const int ciphersuite_preference[] =
49817466cbSJens Wiklander {
50817466cbSJens Wiklander #if defined(MBEDTLS_SSL_CIPHERSUITES)
51817466cbSJens Wiklander     MBEDTLS_SSL_CIPHERSUITES,
52817466cbSJens Wiklander #else
53*32b31808SJens Wiklander #if defined(MBEDTLS_SSL_PROTO_TLS1_3)
54*32b31808SJens Wiklander     /* TLS 1.3 ciphersuites */
55*32b31808SJens Wiklander     MBEDTLS_TLS1_3_CHACHA20_POLY1305_SHA256,
56*32b31808SJens Wiklander     MBEDTLS_TLS1_3_AES_256_GCM_SHA384,
57*32b31808SJens Wiklander     MBEDTLS_TLS1_3_AES_128_GCM_SHA256,
58*32b31808SJens Wiklander     MBEDTLS_TLS1_3_AES_128_CCM_SHA256,
59*32b31808SJens Wiklander     MBEDTLS_TLS1_3_AES_128_CCM_8_SHA256,
60*32b31808SJens Wiklander #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */
61*32b31808SJens Wiklander 
623d3b0591SJens Wiklander     /* Chacha-Poly ephemeral suites */
633d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
643d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
653d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
663d3b0591SJens Wiklander 
67817466cbSJens Wiklander     /* All AES-256 ephemeral suites */
68817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
69817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
70817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
71817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM,
72817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM,
73817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
74817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
75817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
76817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
77817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
78817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
79817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8,
80817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8,
81817466cbSJens Wiklander 
82817466cbSJens Wiklander     /* All CAMELLIA-256 ephemeral suites */
83817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
84817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
85817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
86817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
87817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
88817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
89817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
90817466cbSJens Wiklander 
913d3b0591SJens Wiklander     /* All ARIA-256 ephemeral suites */
923d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
933d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
943d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
953d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,
963d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,
973d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,
983d3b0591SJens Wiklander 
99817466cbSJens Wiklander     /* All AES-128 ephemeral suites */
100817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
101817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
102817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
103817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM,
104817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM,
105817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
106817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
107817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
108817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
109817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
110817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
111817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8,
112817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8,
113817466cbSJens Wiklander 
114817466cbSJens Wiklander     /* All CAMELLIA-128 ephemeral suites */
115817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
116817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
117817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
118817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
119817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
120817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
121817466cbSJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
122817466cbSJens Wiklander 
1233d3b0591SJens Wiklander     /* All ARIA-128 ephemeral suites */
1243d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
1253d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
1263d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
1273d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,
1283d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,
1293d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,
1303d3b0591SJens Wiklander 
131817466cbSJens Wiklander     /* The PSK ephemeral suites */
1323d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
1333d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
134817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384,
135817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM,
136817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
137817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384,
138817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA,
139817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA,
140817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384,
141817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
142817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
143817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8,
1443d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
1453d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384,
1463d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384,
147817466cbSJens Wiklander 
148817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256,
149817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM,
150817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
151817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256,
152817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA,
153817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA,
154817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256,
155817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
156817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
157817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8,
1583d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
1593d3b0591SJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256,
1603d3b0591SJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256,
161817466cbSJens Wiklander 
162817466cbSJens Wiklander     /* The ECJPAKE suite */
163817466cbSJens Wiklander     MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8,
164817466cbSJens Wiklander 
165817466cbSJens Wiklander     /* All AES-256 suites */
166817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384,
167817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_256_CCM,
168817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256,
169817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA,
170817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,
171817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,
172817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
173817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
174817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,
175817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
176817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8,
177817466cbSJens Wiklander 
178817466cbSJens Wiklander     /* All CAMELLIA-256 suites */
179817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384,
180817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256,
181817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA,
182817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384,
183817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,
184817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
185817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
186817466cbSJens Wiklander 
1873d3b0591SJens Wiklander     /* All ARIA-256 suites */
1883d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384,
1893d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384,
1903d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384,
1913d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384,
1923d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384,
1933d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384,
1943d3b0591SJens Wiklander 
195817466cbSJens Wiklander     /* All AES-128 suites */
196817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256,
197817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_128_CCM,
198817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256,
199817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA,
200817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,
201817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,
202817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
203817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
204817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,
205817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
206817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8,
207817466cbSJens Wiklander 
208817466cbSJens Wiklander     /* All CAMELLIA-128 suites */
209817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256,
210817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256,
211817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA,
212817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256,
213817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
214817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
215817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
216817466cbSJens Wiklander 
2173d3b0591SJens Wiklander     /* All ARIA-128 suites */
2183d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256,
2193d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256,
2203d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256,
2213d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256,
2223d3b0591SJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256,
2233d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256,
2243d3b0591SJens Wiklander 
225817466cbSJens Wiklander     /* The RSA PSK suites */
2263d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256,
227817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384,
228817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384,
229817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA,
230817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384,
231817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
2323d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
2333d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384,
234817466cbSJens Wiklander 
235817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256,
236817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256,
237817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA,
238817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256,
239817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
2403d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
2413d3b0591SJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256,
242817466cbSJens Wiklander 
243817466cbSJens Wiklander     /* The PSK suites */
2443d3b0591SJens Wiklander     MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256,
245817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384,
246817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_256_CCM,
247817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384,
248817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA,
249817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384,
250817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384,
251817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8,
2523d3b0591SJens Wiklander     MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384,
2533d3b0591SJens Wiklander     MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384,
254817466cbSJens Wiklander 
255817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256,
256817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_128_CCM,
257817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256,
258817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA,
259817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256,
260817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256,
261817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8,
2623d3b0591SJens Wiklander     MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256,
2633d3b0591SJens Wiklander     MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256,
264817466cbSJens Wiklander 
265817466cbSJens Wiklander     /* NULL suites */
266817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA,
267817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA,
268817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384,
269817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256,
270817466cbSJens Wiklander     MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA,
271817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384,
272817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256,
273817466cbSJens Wiklander     MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA,
274817466cbSJens Wiklander 
275817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_NULL_SHA256,
276817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_NULL_SHA,
277817466cbSJens Wiklander     MBEDTLS_TLS_RSA_WITH_NULL_MD5,
278817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA,
279817466cbSJens Wiklander     MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA,
280817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384,
281817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256,
282817466cbSJens Wiklander     MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA,
283817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_NULL_SHA384,
284817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_NULL_SHA256,
285817466cbSJens Wiklander     MBEDTLS_TLS_PSK_WITH_NULL_SHA,
286817466cbSJens Wiklander 
287817466cbSJens Wiklander #endif /* MBEDTLS_SSL_CIPHERSUITES */
288817466cbSJens Wiklander     0
289817466cbSJens Wiklander };
290817466cbSJens Wiklander 
291817466cbSJens Wiklander static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] =
292817466cbSJens Wiklander {
293*32b31808SJens Wiklander #if defined(MBEDTLS_SSL_PROTO_TLS1_3)
294*32b31808SJens Wiklander #if defined(MBEDTLS_AES_C)
295*32b31808SJens Wiklander #if defined(MBEDTLS_GCM_C)
296*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
297*32b31808SJens Wiklander     { MBEDTLS_TLS1_3_AES_256_GCM_SHA384, "TLS1-3-AES-256-GCM-SHA384",
298*32b31808SJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384,
299*32b31808SJens Wiklander       MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */
300*32b31808SJens Wiklander       0,
301*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 },
302*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
303*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
304*32b31808SJens Wiklander     { MBEDTLS_TLS1_3_AES_128_GCM_SHA256, "TLS1-3-AES-128-GCM-SHA256",
305*32b31808SJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256,
306*32b31808SJens Wiklander       MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */
307*32b31808SJens Wiklander       0,
308*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 },
309*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
310*32b31808SJens Wiklander #endif /* MBEDTLS_GCM_C */
311*32b31808SJens Wiklander #if defined(MBEDTLS_CCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
312*32b31808SJens Wiklander     { MBEDTLS_TLS1_3_AES_128_CCM_SHA256, "TLS1-3-AES-128-CCM-SHA256",
313*32b31808SJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256,
314*32b31808SJens Wiklander       MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */
315*32b31808SJens Wiklander       0,
316*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 },
317*32b31808SJens Wiklander     { MBEDTLS_TLS1_3_AES_128_CCM_8_SHA256, "TLS1-3-AES-128-CCM-8-SHA256",
318*32b31808SJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256,
319*32b31808SJens Wiklander       MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */
320*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG,
321*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 },
322*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA && MBEDTLS_CCM_C */
323*32b31808SJens Wiklander #endif /* MBEDTLS_AES_C */
324*32b31808SJens Wiklander #if defined(MBEDTLS_CHACHAPOLY_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
325*32b31808SJens Wiklander     { MBEDTLS_TLS1_3_CHACHA20_POLY1305_SHA256,
326*32b31808SJens Wiklander       "TLS1-3-CHACHA20-POLY1305-SHA256",
327*32b31808SJens Wiklander       MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
328*32b31808SJens Wiklander       MBEDTLS_KEY_EXCHANGE_NONE, /* Key exchange not part of ciphersuite in TLS 1.3 */
329*32b31808SJens Wiklander       0,
330*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_3, MBEDTLS_SSL_VERSION_TLS1_3 },
331*32b31808SJens Wiklander #endif /* MBEDTLS_CHACHAPOLY_C && MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
332*32b31808SJens Wiklander #endif /* MBEDTLS_SSL_PROTO_TLS1_3 */
333*32b31808SJens Wiklander 
3343d3b0591SJens Wiklander #if defined(MBEDTLS_CHACHAPOLY_C) && \
335*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \
3363d3b0591SJens Wiklander     defined(MBEDTLS_SSL_PROTO_TLS1_2)
3373d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
3383d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
3393d3b0591SJens Wiklander       "TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256",
3403d3b0591SJens Wiklander       MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3413d3b0591SJens Wiklander       MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
342*32b31808SJens Wiklander       0,
343*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
3443d3b0591SJens Wiklander #endif
3453d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
3463d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
3473d3b0591SJens Wiklander       "TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256",
3483d3b0591SJens Wiklander       MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3493d3b0591SJens Wiklander       MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
350*32b31808SJens Wiklander       0,
351*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
3523d3b0591SJens Wiklander #endif
3533d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
3543d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
3553d3b0591SJens Wiklander       "TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256",
3563d3b0591SJens Wiklander       MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3573d3b0591SJens Wiklander       MBEDTLS_KEY_EXCHANGE_DHE_RSA,
358*32b31808SJens Wiklander       0,
359*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
3603d3b0591SJens Wiklander #endif
3613d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
3623d3b0591SJens Wiklander     { MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256,
3633d3b0591SJens Wiklander       "TLS-PSK-WITH-CHACHA20-POLY1305-SHA256",
3643d3b0591SJens Wiklander       MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3653d3b0591SJens Wiklander       MBEDTLS_KEY_EXCHANGE_PSK,
366*32b31808SJens Wiklander       0,
367*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
3683d3b0591SJens Wiklander #endif
3693d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
3703d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
3713d3b0591SJens Wiklander       "TLS-ECDHE-PSK-WITH-CHACHA20-POLY1305-SHA256",
3723d3b0591SJens Wiklander       MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3733d3b0591SJens Wiklander       MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
374*32b31808SJens Wiklander       0,
375*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
3763d3b0591SJens Wiklander #endif
3773d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
3783d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
3793d3b0591SJens Wiklander       "TLS-DHE-PSK-WITH-CHACHA20-POLY1305-SHA256",
3803d3b0591SJens Wiklander       MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3813d3b0591SJens Wiklander       MBEDTLS_KEY_EXCHANGE_DHE_PSK,
382*32b31808SJens Wiklander       0,
383*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
3843d3b0591SJens Wiklander #endif
3853d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
3863d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256,
3873d3b0591SJens Wiklander       "TLS-RSA-PSK-WITH-CHACHA20-POLY1305-SHA256",
3883d3b0591SJens Wiklander       MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
3893d3b0591SJens Wiklander       MBEDTLS_KEY_EXCHANGE_RSA_PSK,
390*32b31808SJens Wiklander       0,
391*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
3923d3b0591SJens Wiklander #endif
3933d3b0591SJens Wiklander #endif /* MBEDTLS_CHACHAPOLY_C &&
394*32b31808SJens Wiklander           MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA &&
3953d3b0591SJens Wiklander           MBEDTLS_SSL_PROTO_TLS1_2 */
396817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
397817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
398*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
399817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
400817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA",
401817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
402*32b31808SJens Wiklander       0,
403*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
404817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA",
405817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
406*32b31808SJens Wiklander       0,
407*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
408817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
409*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
410*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
411817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
412817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256",
413817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
414*32b31808SJens Wiklander       0,
415*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
416817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
417817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
418817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256",
419817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
420*32b31808SJens Wiklander       0,
421*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
422817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
423*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
424*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
425817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
426817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384",
427817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
428*32b31808SJens Wiklander       0,
429*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
430817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
431817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
432817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384",
433817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
434*32b31808SJens Wiklander       0,
435*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
436817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
437*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
438817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C)
439817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM",
440817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
441*32b31808SJens Wiklander       0,
442*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
443817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-256-CCM-8",
444817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
445*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG,
446*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
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,
449*32b31808SJens Wiklander       0,
450*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
451817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8, "TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8",
452817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
453*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG,
454*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
455817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */
456817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
457817466cbSJens Wiklander 
458817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
459817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
460*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
461*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
462*32b31808SJens Wiklander       "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-CBC-SHA256",
463817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
464*32b31808SJens Wiklander       0,
465*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
466*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
467*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
468*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
469*32b31808SJens Wiklander       "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-CBC-SHA384",
470817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
471*32b31808SJens Wiklander       0,
472*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
473*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
474817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
475817466cbSJens Wiklander 
476817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
477*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
478*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
479*32b31808SJens Wiklander       "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-GCM-SHA256",
480817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
481*32b31808SJens Wiklander       0,
482*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
483*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
484*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
485*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
486*32b31808SJens Wiklander       "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-GCM-SHA384",
487817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
488*32b31808SJens Wiklander       0,
489*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
490*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
491817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
492817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
493817466cbSJens Wiklander 
494817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
495*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
496817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA, "TLS-ECDHE-ECDSA-WITH-NULL-SHA",
497817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
498*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
499*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
500*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
501817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
502817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
503817466cbSJens Wiklander 
504817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
505817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
506*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
507817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
508817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA",
509817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
510*32b31808SJens Wiklander       0,
511*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
512817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA",
513817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
514*32b31808SJens Wiklander       0,
515*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
516817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
517*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
518*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
519817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
520817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256",
521817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
522*32b31808SJens Wiklander       0,
523*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
524817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
525817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
526817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256",
527817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
528*32b31808SJens Wiklander       0,
529*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
530817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
531*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
532*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
533817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
534817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384",
535817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
536*32b31808SJens Wiklander       0,
537*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
538817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
539817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
540817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384",
541817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
542*32b31808SJens Wiklander       0,
543*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
544817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
545*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
546817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
547817466cbSJens Wiklander 
548817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
549817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
550*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
551*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
552*32b31808SJens Wiklander       "TLS-ECDHE-RSA-WITH-CAMELLIA-128-CBC-SHA256",
553817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
554*32b31808SJens Wiklander       0,
555*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
556*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
557*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
558*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
559*32b31808SJens Wiklander       "TLS-ECDHE-RSA-WITH-CAMELLIA-256-CBC-SHA384",
560817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
561*32b31808SJens Wiklander       0,
562*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
563*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
564817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
565817466cbSJens Wiklander 
566817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
567*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
568*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
569*32b31808SJens Wiklander       "TLS-ECDHE-RSA-WITH-CAMELLIA-128-GCM-SHA256",
570817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
571*32b31808SJens Wiklander       0,
572*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
573*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
574*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
575*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
576*32b31808SJens Wiklander       "TLS-ECDHE-RSA-WITH-CAMELLIA-256-GCM-SHA384",
577817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
578*32b31808SJens Wiklander       0,
579*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
580*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
581817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
582817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
583817466cbSJens Wiklander 
584817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
585*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
586817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA, "TLS-ECDHE-RSA-WITH-NULL-SHA",
587817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
588*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
589*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
590*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
591817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
592817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
593817466cbSJens Wiklander 
594817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
595817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
596*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \
597*32b31808SJens Wiklander     defined(MBEDTLS_GCM_C)
598817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, "TLS-DHE-RSA-WITH-AES-256-GCM-SHA384",
599817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
600*32b31808SJens Wiklander       0,
601*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
602*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA && MBEDTLS_GCM_C */
603817466cbSJens Wiklander 
604*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
605817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
606817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, "TLS-DHE-RSA-WITH-AES-128-GCM-SHA256",
607817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
608*32b31808SJens Wiklander       0,
609*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
610817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
611817466cbSJens Wiklander 
612817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
613817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA256",
614817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
615*32b31808SJens Wiklander       0,
616*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
617817466cbSJens Wiklander 
618817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA256",
619817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
620*32b31808SJens Wiklander       0,
621*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
622817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
623*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
624817466cbSJens Wiklander 
625817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
626*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
627817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA, "TLS-DHE-RSA-WITH-AES-128-CBC-SHA",
628817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
629*32b31808SJens Wiklander       0,
630*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
631817466cbSJens Wiklander 
632817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA, "TLS-DHE-RSA-WITH-AES-256-CBC-SHA",
633817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
634*32b31808SJens Wiklander       0,
635*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
636*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
637817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
638817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C)
639817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM, "TLS-DHE-RSA-WITH-AES-256-CCM",
640817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
641*32b31808SJens Wiklander       0,
642*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
643817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8, "TLS-DHE-RSA-WITH-AES-256-CCM-8",
644817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
645*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG,
646*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
647817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM, "TLS-DHE-RSA-WITH-AES-128-CCM",
648817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
649*32b31808SJens Wiklander       0,
650*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
651817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8, "TLS-DHE-RSA-WITH-AES-128-CCM-8",
652817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
653*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG,
654*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
655817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */
656817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
657817466cbSJens Wiklander 
658817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
659817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
660*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
661817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256",
662817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
663*32b31808SJens Wiklander       0,
664*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
665817466cbSJens Wiklander 
666817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256",
667817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
668*32b31808SJens Wiklander       0,
669*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
670*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
671817466cbSJens Wiklander 
672*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
673817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA",
674817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
675*32b31808SJens Wiklander       0,
676*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
677817466cbSJens Wiklander 
678817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA",
679817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
680*32b31808SJens Wiklander       0,
681*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
682*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
683817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
684817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
685*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
686817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256",
687817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
688*32b31808SJens Wiklander       0,
689*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
690*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
691817466cbSJens Wiklander 
692*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
693817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384",
694817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
695*32b31808SJens Wiklander       0,
696*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
697*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
698817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
699817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
700817466cbSJens Wiklander 
701817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
702817466cbSJens Wiklander 
703817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
704817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
705*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA) && \
706*32b31808SJens Wiklander     defined(MBEDTLS_GCM_C)
707817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384, "TLS-RSA-WITH-AES-256-GCM-SHA384",
708817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
709*32b31808SJens Wiklander       0,
710*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
711*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA && MBEDTLS_GCM_C */
712817466cbSJens Wiklander 
713*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
714817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
715817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256, "TLS-RSA-WITH-AES-128-GCM-SHA256",
716817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
717*32b31808SJens Wiklander       0,
718*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
719817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
720817466cbSJens Wiklander 
721817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
722817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256, "TLS-RSA-WITH-AES-128-CBC-SHA256",
723817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
724*32b31808SJens Wiklander       0,
725*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
726817466cbSJens Wiklander 
727817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256, "TLS-RSA-WITH-AES-256-CBC-SHA256",
728817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
729*32b31808SJens Wiklander       0,
730*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
731817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
732*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
733817466cbSJens Wiklander 
734*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
735817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
736817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA, "TLS-RSA-WITH-AES-128-CBC-SHA",
737817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
738*32b31808SJens Wiklander       0,
739*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
740817466cbSJens Wiklander 
741817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA, "TLS-RSA-WITH-AES-256-CBC-SHA",
742817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
743*32b31808SJens Wiklander       0,
744*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
745817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
746*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
747817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C)
748817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_256_CCM, "TLS-RSA-WITH-AES-256-CCM",
749817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
750*32b31808SJens Wiklander       0,
751*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
752817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8, "TLS-RSA-WITH-AES-256-CCM-8",
753817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
754*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG,
755*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
756817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_128_CCM, "TLS-RSA-WITH-AES-128-CCM",
757817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
758*32b31808SJens Wiklander       0,
759*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
760817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8, "TLS-RSA-WITH-AES-128-CCM-8",
761817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
762*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG,
763*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
764817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */
765817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
766817466cbSJens Wiklander 
767817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
768817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
769*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
770817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256",
771817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
772*32b31808SJens Wiklander       0,
773*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
774817466cbSJens Wiklander 
775817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256",
776817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
777*32b31808SJens Wiklander       0,
778*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
779*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
780817466cbSJens Wiklander 
781*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
782817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA",
783817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
784*32b31808SJens Wiklander       0,
785*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
786817466cbSJens Wiklander 
787817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA",
788817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
789*32b31808SJens Wiklander       0,
790*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
791*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
792817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
793817466cbSJens Wiklander 
794817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
795*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
796817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-WITH-CAMELLIA-128-GCM-SHA256",
797817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
798*32b31808SJens Wiklander       0,
799*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
800*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
801817466cbSJens Wiklander 
802*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
803817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-WITH-CAMELLIA-256-GCM-SHA384",
804817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
805*32b31808SJens Wiklander       0,
806*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
807*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
808817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
809817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
810817466cbSJens Wiklander 
811817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
812817466cbSJens Wiklander 
813817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)
814817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
815*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
816817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
817817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA",
818817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
819*32b31808SJens Wiklander       0,
820*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
821817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA",
822817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
823*32b31808SJens Wiklander       0,
824*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
825817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
826*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
827*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
828817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
829817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA256",
830817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
831*32b31808SJens Wiklander       0,
832*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
833817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
834817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
835817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256",
836817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
837*32b31808SJens Wiklander       0,
838*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
839817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
840*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
841*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
842817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
843817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384",
844817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
845*32b31808SJens Wiklander       0,
846*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
847817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
848817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
849817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-RSA-WITH-AES-256-GCM-SHA384",
850817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
851*32b31808SJens Wiklander       0,
852*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
853817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
854*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
855817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
856817466cbSJens Wiklander 
857817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
858817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
859*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
860*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
861*32b31808SJens Wiklander       "TLS-ECDH-RSA-WITH-CAMELLIA-128-CBC-SHA256",
862817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
863*32b31808SJens Wiklander       0,
864*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
865*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
866*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
867*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,
868*32b31808SJens Wiklander       "TLS-ECDH-RSA-WITH-CAMELLIA-256-CBC-SHA384",
869817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
870*32b31808SJens Wiklander       0,
871*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
872*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
873817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
874817466cbSJens Wiklander 
875817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
876*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
877*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256,
878*32b31808SJens Wiklander       "TLS-ECDH-RSA-WITH-CAMELLIA-128-GCM-SHA256",
879817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
880*32b31808SJens Wiklander       0,
881*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
882*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
883*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
884*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384,
885*32b31808SJens Wiklander       "TLS-ECDH-RSA-WITH-CAMELLIA-256-GCM-SHA384",
886817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
887*32b31808SJens Wiklander       0,
888*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
889*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
890817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
891817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
892817466cbSJens Wiklander 
893817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
894*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
895817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA, "TLS-ECDH-RSA-WITH-NULL-SHA",
896817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
897*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
898*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
899*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
900817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
901817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */
902817466cbSJens Wiklander 
903817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
904817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
905*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
906817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
907817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA",
908817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
909*32b31808SJens Wiklander       0,
910*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
911817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA",
912817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
913*32b31808SJens Wiklander       0,
914*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
915817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
916*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
917*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
918817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
919817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA256",
920817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
921*32b31808SJens Wiklander       0,
922*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
923817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
924817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
925817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, "TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256",
926817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
927*32b31808SJens Wiklander       0,
928*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
929817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
930*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
931*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
932817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
933817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA384",
934817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
935*32b31808SJens Wiklander       0,
936*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
937817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
938817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
939817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, "TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384",
940817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
941*32b31808SJens Wiklander       0,
942*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
943817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
944*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
945817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
946817466cbSJens Wiklander 
947817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
948817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
949*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
950*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
951*32b31808SJens Wiklander       "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-CBC-SHA256",
952817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
953*32b31808SJens Wiklander       0,
954*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
955*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
956*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
957*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
958*32b31808SJens Wiklander       "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384",
959817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
960*32b31808SJens Wiklander       0,
961*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
962*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
963817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
964817466cbSJens Wiklander 
965817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
966*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
967*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
968*32b31808SJens Wiklander       "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-GCM-SHA256",
969817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
970*32b31808SJens Wiklander       0,
971*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
972*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
973*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
974*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
975*32b31808SJens Wiklander       "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-GCM-SHA384",
976817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
977*32b31808SJens Wiklander       0,
978*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
979*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
980817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
981817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
982817466cbSJens Wiklander 
983817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
984*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
985817466cbSJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA, "TLS-ECDH-ECDSA-WITH-NULL-SHA",
986817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
987*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
988*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
989*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
990817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
991817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
992817466cbSJens Wiklander 
993817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
994817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
995817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
996*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
997817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256, "TLS-PSK-WITH-AES-128-GCM-SHA256",
998817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
999*32b31808SJens Wiklander       0,
1000*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1001*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1002817466cbSJens Wiklander 
1003*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1004817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384, "TLS-PSK-WITH-AES-256-GCM-SHA384",
1005817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
1006*32b31808SJens Wiklander       0,
1007*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1008*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1009817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1010817466cbSJens Wiklander 
1011817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1012*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1013817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256, "TLS-PSK-WITH-AES-128-CBC-SHA256",
1014817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1015*32b31808SJens Wiklander       0,
1016*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1017*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1018817466cbSJens Wiklander 
1019*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1020817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384, "TLS-PSK-WITH-AES-256-CBC-SHA384",
1021817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
1022*32b31808SJens Wiklander       0,
1023*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1024*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1025817466cbSJens Wiklander 
1026*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1027817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA, "TLS-PSK-WITH-AES-128-CBC-SHA",
1028817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
1029*32b31808SJens Wiklander       0,
1030*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1031817466cbSJens Wiklander 
1032817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA, "TLS-PSK-WITH-AES-256-CBC-SHA",
1033817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
1034*32b31808SJens Wiklander       0,
1035*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1036*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1037817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1038817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C)
1039817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_256_CCM, "TLS-PSK-WITH-AES-256-CCM",
1040817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1041*32b31808SJens Wiklander       0,
1042*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1043817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8, "TLS-PSK-WITH-AES-256-CCM-8",
1044817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1045*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG,
1046*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1047817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_128_CCM, "TLS-PSK-WITH-AES-128-CCM",
1048817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1049*32b31808SJens Wiklander       0,
1050*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1051817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8, "TLS-PSK-WITH-AES-128-CCM-8",
1052817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1053*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG,
1054*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1055817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */
1056817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
1057817466cbSJens Wiklander 
1058817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
1059817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1060*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1061817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-PSK-WITH-CAMELLIA-128-CBC-SHA256",
1062817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1063*32b31808SJens Wiklander       0,
1064*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1065*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1066817466cbSJens Wiklander 
1067*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1068817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-PSK-WITH-CAMELLIA-256-CBC-SHA384",
1069817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
1070*32b31808SJens Wiklander       0,
1071*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1072*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1073817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1074817466cbSJens Wiklander 
1075817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
1076*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1077817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-PSK-WITH-CAMELLIA-128-GCM-SHA256",
1078817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1079*32b31808SJens Wiklander       0,
1080*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1081*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1082817466cbSJens Wiklander 
1083*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1084817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-PSK-WITH-CAMELLIA-256-GCM-SHA384",
1085817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
1086*32b31808SJens Wiklander       0,
1087*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1088*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1089817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1090817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
1091817466cbSJens Wiklander 
1092817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
1093817466cbSJens Wiklander 
1094817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
1095817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
1096817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
1097*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1098817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, "TLS-DHE-PSK-WITH-AES-128-GCM-SHA256",
1099817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1100*32b31808SJens Wiklander       0,
1101*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1102*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1103817466cbSJens Wiklander 
1104*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1105817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384, "TLS-DHE-PSK-WITH-AES-256-GCM-SHA384",
1106817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1107*32b31808SJens Wiklander       0,
1108*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1109*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1110817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1111817466cbSJens Wiklander 
1112817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1113*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1114817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA256",
1115817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1116*32b31808SJens Wiklander       0,
1117*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1118*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1119817466cbSJens Wiklander 
1120*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1121817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA384",
1122817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1123*32b31808SJens Wiklander       0,
1124*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1125*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1126817466cbSJens Wiklander 
1127*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1128817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA, "TLS-DHE-PSK-WITH-AES-128-CBC-SHA",
1129817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1130*32b31808SJens Wiklander       0,
1131*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1132817466cbSJens Wiklander 
1133817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA, "TLS-DHE-PSK-WITH-AES-256-CBC-SHA",
1134817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1135*32b31808SJens Wiklander       0,
1136*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1137*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1138817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1139817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C)
1140817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM, "TLS-DHE-PSK-WITH-AES-256-CCM",
1141817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1142*32b31808SJens Wiklander       0,
1143*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1144817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8, "TLS-DHE-PSK-WITH-AES-256-CCM-8",
1145817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1146*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG,
1147*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1148817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM, "TLS-DHE-PSK-WITH-AES-128-CCM",
1149817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1150*32b31808SJens Wiklander       0,
1151*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1152817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8, "TLS-DHE-PSK-WITH-AES-128-CCM-8",
1153817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1154*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG,
1155*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1156817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */
1157817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
1158817466cbSJens Wiklander 
1159817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
1160817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1161*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1162817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-CBC-SHA256",
1163817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1164*32b31808SJens Wiklander       0,
1165*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1166*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1167817466cbSJens Wiklander 
1168*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1169817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-CBC-SHA384",
1170817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1171*32b31808SJens Wiklander       0,
1172*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1173*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1174817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1175817466cbSJens Wiklander 
1176817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
1177*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1178817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-DHE-PSK-WITH-CAMELLIA-128-GCM-SHA256",
1179817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1180*32b31808SJens Wiklander       0,
1181*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1182*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1183817466cbSJens Wiklander 
1184*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1185817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-DHE-PSK-WITH-CAMELLIA-256-GCM-SHA384",
1186817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1187*32b31808SJens Wiklander       0,
1188*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1189*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1190817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1191817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
1192817466cbSJens Wiklander 
1193817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
1194817466cbSJens Wiklander 
1195817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
1196817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
1197817466cbSJens Wiklander 
1198817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1199*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1200817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA256",
1201817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1202*32b31808SJens Wiklander       0,
1203*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1204*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1205817466cbSJens Wiklander 
1206*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1207817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA384",
1208817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1209*32b31808SJens Wiklander       0,
1210*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1211*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1212817466cbSJens Wiklander 
1213*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1214817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA",
1215817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1216*32b31808SJens Wiklander       0,
1217*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1218817466cbSJens Wiklander 
1219817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA",
1220817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1221*32b31808SJens Wiklander       0,
1222*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1223*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1224817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1225817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
1226817466cbSJens Wiklander 
1227817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
1228817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1229*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1230*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
1231*32b31808SJens Wiklander       "TLS-ECDHE-PSK-WITH-CAMELLIA-128-CBC-SHA256",
1232817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1233*32b31808SJens Wiklander       0,
1234*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1235*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1236817466cbSJens Wiklander 
1237*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1238*32b31808SJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
1239*32b31808SJens Wiklander       "TLS-ECDHE-PSK-WITH-CAMELLIA-256-CBC-SHA384",
1240817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1241*32b31808SJens Wiklander       0,
1242*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1243*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1244817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1245817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
1246817466cbSJens Wiklander 
1247817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
1248817466cbSJens Wiklander 
1249817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
1250817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
1251817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
1252*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1253817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, "TLS-RSA-PSK-WITH-AES-128-GCM-SHA256",
1254817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1255*32b31808SJens Wiklander       0,
1256*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1257*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1258817466cbSJens Wiklander 
1259*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1260817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, "TLS-RSA-PSK-WITH-AES-256-GCM-SHA384",
1261817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1262*32b31808SJens Wiklander       0,
1263*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1264*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1265817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1266817466cbSJens Wiklander 
1267817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1268*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1269817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA256",
1270817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1271*32b31808SJens Wiklander       0,
1272*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1273*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1274817466cbSJens Wiklander 
1275*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1276817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA384",
1277817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1278*32b31808SJens Wiklander       0,
1279*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1280*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1281817466cbSJens Wiklander 
1282*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1283817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA, "TLS-RSA-PSK-WITH-AES-128-CBC-SHA",
1284817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1285*32b31808SJens Wiklander       0,
1286*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1287817466cbSJens Wiklander 
1288817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA, "TLS-RSA-PSK-WITH-AES-256-CBC-SHA",
1289817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1290*32b31808SJens Wiklander       0,
1291*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1292*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1293817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1294817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
1295817466cbSJens Wiklander 
1296817466cbSJens Wiklander #if defined(MBEDTLS_CAMELLIA_C)
1297817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_MODE_CBC)
1298*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1299817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-CBC-SHA256",
1300817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1301*32b31808SJens Wiklander       0,
1302*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1303*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1304817466cbSJens Wiklander 
1305*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1306817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-CBC-SHA384",
1307817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1308*32b31808SJens Wiklander       0,
1309*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1310*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1311817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_MODE_CBC */
1312817466cbSJens Wiklander 
1313817466cbSJens Wiklander #if defined(MBEDTLS_GCM_C)
1314*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1315817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, "TLS-RSA-PSK-WITH-CAMELLIA-128-GCM-SHA256",
1316817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1317*32b31808SJens Wiklander       0,
1318*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1319*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1320817466cbSJens Wiklander 
1321*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1322817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, "TLS-RSA-PSK-WITH-CAMELLIA-256-GCM-SHA384",
1323817466cbSJens Wiklander       MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1324*32b31808SJens Wiklander       0,
1325*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1326*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1327817466cbSJens Wiklander #endif /* MBEDTLS_GCM_C */
1328817466cbSJens Wiklander #endif /* MBEDTLS_CAMELLIA_C */
1329817466cbSJens Wiklander 
1330817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
1331817466cbSJens Wiklander 
1332817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
1333817466cbSJens Wiklander #if defined(MBEDTLS_AES_C)
1334817466cbSJens Wiklander #if defined(MBEDTLS_CCM_C)
1335817466cbSJens Wiklander     { MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8, "TLS-ECJPAKE-WITH-AES-128-CCM-8",
1336817466cbSJens Wiklander       MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECJPAKE,
1337*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_SHORT_TAG,
1338*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1339817466cbSJens Wiklander #endif /* MBEDTLS_CCM_C */
1340817466cbSJens Wiklander #endif /* MBEDTLS_AES_C */
1341817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */
1342817466cbSJens Wiklander 
1343817466cbSJens Wiklander #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
1344817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
1345*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_MD5_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1346817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_NULL_MD5, "TLS-RSA-WITH-NULL-MD5",
1347817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_MD5, MBEDTLS_KEY_EXCHANGE_RSA,
1348*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
1349*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1350817466cbSJens Wiklander #endif
1351817466cbSJens Wiklander 
1352*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1353817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_NULL_SHA, "TLS-RSA-WITH-NULL-SHA",
1354817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
1355*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
1356*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1357817466cbSJens Wiklander #endif
1358817466cbSJens Wiklander 
1359*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1360817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_WITH_NULL_SHA256, "TLS-RSA-WITH-NULL-SHA256",
1361817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
1362*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
1363*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1364817466cbSJens Wiklander #endif
1365817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
1366817466cbSJens Wiklander 
1367817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
1368*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1369817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_NULL_SHA, "TLS-PSK-WITH-NULL-SHA",
1370817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
1371*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
1372*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1373*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1374817466cbSJens Wiklander 
1375*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1376817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_NULL_SHA256, "TLS-PSK-WITH-NULL-SHA256",
1377817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1378*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
1379*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1380817466cbSJens Wiklander #endif
1381817466cbSJens Wiklander 
1382*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1383817466cbSJens Wiklander     { MBEDTLS_TLS_PSK_WITH_NULL_SHA384, "TLS-PSK-WITH-NULL-SHA384",
1384817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
1385*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
1386*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1387*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1388817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
1389817466cbSJens Wiklander 
1390817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
1391*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1392817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA, "TLS-DHE-PSK-WITH-NULL-SHA",
1393817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1394*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
1395*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1396*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1397817466cbSJens Wiklander 
1398*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1399817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256, "TLS-DHE-PSK-WITH-NULL-SHA256",
1400817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1401*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
1402*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1403817466cbSJens Wiklander #endif
1404817466cbSJens Wiklander 
1405*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1406817466cbSJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384, "TLS-DHE-PSK-WITH-NULL-SHA384",
1407817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1408*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
1409*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1410*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1411817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
1412817466cbSJens Wiklander 
1413817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
1414*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1415817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA, "TLS-ECDHE-PSK-WITH-NULL-SHA",
1416817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1417*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
1418*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1419*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1420817466cbSJens Wiklander 
1421*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1422817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256, "TLS-ECDHE-PSK-WITH-NULL-SHA256",
1423817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1424*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
1425*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1426817466cbSJens Wiklander #endif
1427817466cbSJens Wiklander 
1428*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1429817466cbSJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384, "TLS-ECDHE-PSK-WITH-NULL-SHA384",
1430817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1431*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
1432*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1433*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1434817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
1435817466cbSJens Wiklander 
1436817466cbSJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
1437*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1438817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA, "TLS-RSA-PSK-WITH-NULL-SHA",
1439817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1440*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
1441*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1442*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_1_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1443817466cbSJens Wiklander 
1444*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1445817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256, "TLS-RSA-PSK-WITH-NULL-SHA256",
1446817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1447*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
1448*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1449817466cbSJens Wiklander #endif
1450817466cbSJens Wiklander 
1451*32b31808SJens Wiklander #if defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA)
1452817466cbSJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384, "TLS-RSA-PSK-WITH-NULL-SHA384",
1453817466cbSJens Wiklander       MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1454*32b31808SJens Wiklander       MBEDTLS_CIPHERSUITE_WEAK,
1455*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
1456*32b31808SJens Wiklander #endif /* MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA */
1457817466cbSJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
1458817466cbSJens Wiklander #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
1459817466cbSJens Wiklander 
14603d3b0591SJens Wiklander #if defined(MBEDTLS_ARIA_C)
14613d3b0591SJens Wiklander 
14623d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
14633d3b0591SJens Wiklander 
1464*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
14653d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384,
14663d3b0591SJens Wiklander       "TLS-RSA-WITH-ARIA-256-GCM-SHA384",
14673d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
1468*32b31808SJens Wiklander       0,
1469*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
14703d3b0591SJens Wiklander #endif
1471*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1472*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
14733d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384,
14743d3b0591SJens Wiklander       "TLS-RSA-WITH-ARIA-256-CBC-SHA384",
14753d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA,
1476*32b31808SJens Wiklander       0,
1477*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
14783d3b0591SJens Wiklander #endif
1479*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
14803d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256,
14813d3b0591SJens Wiklander       "TLS-RSA-WITH-ARIA-128-GCM-SHA256",
14823d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
1483*32b31808SJens Wiklander       0,
1484*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
14853d3b0591SJens Wiklander #endif
1486*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1487*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
14883d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256,
14893d3b0591SJens Wiklander       "TLS-RSA-WITH-ARIA-128-CBC-SHA256",
14903d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
1491*32b31808SJens Wiklander       0,
1492*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
14933d3b0591SJens Wiklander #endif
14943d3b0591SJens Wiklander 
14953d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
14963d3b0591SJens Wiklander 
14973d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
14983d3b0591SJens Wiklander 
1499*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
15003d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
15013d3b0591SJens Wiklander       "TLS-RSA-PSK-WITH-ARIA-256-GCM-SHA384",
15023d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1503*32b31808SJens Wiklander       0,
1504*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15053d3b0591SJens Wiklander #endif
1506*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1507*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
15083d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384,
15093d3b0591SJens Wiklander       "TLS-RSA-PSK-WITH-ARIA-256-CBC-SHA384",
15103d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1511*32b31808SJens Wiklander       0,
1512*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15133d3b0591SJens Wiklander #endif
1514*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
15153d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
15163d3b0591SJens Wiklander       "TLS-RSA-PSK-WITH-ARIA-128-GCM-SHA256",
15173d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1518*32b31808SJens Wiklander       0,
1519*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15203d3b0591SJens Wiklander #endif
1521*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1522*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
15233d3b0591SJens Wiklander     { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256,
15243d3b0591SJens Wiklander       "TLS-RSA-PSK-WITH-ARIA-128-CBC-SHA256",
15253d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
1526*32b31808SJens Wiklander       0,
1527*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15283d3b0591SJens Wiklander #endif
15293d3b0591SJens Wiklander 
15303d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
15313d3b0591SJens Wiklander 
15323d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
15333d3b0591SJens Wiklander 
1534*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
15353d3b0591SJens Wiklander     { MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384,
15363d3b0591SJens Wiklander       "TLS-PSK-WITH-ARIA-256-GCM-SHA384",
15373d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
1538*32b31808SJens Wiklander       0,
1539*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15403d3b0591SJens Wiklander #endif
1541*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1542*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
15433d3b0591SJens Wiklander     { MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384,
15443d3b0591SJens Wiklander       "TLS-PSK-WITH-ARIA-256-CBC-SHA384",
15453d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
1546*32b31808SJens Wiklander       0,
1547*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15483d3b0591SJens Wiklander #endif
1549*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
15503d3b0591SJens Wiklander     { MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256,
15513d3b0591SJens Wiklander       "TLS-PSK-WITH-ARIA-128-GCM-SHA256",
15523d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1553*32b31808SJens Wiklander       0,
1554*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15553d3b0591SJens Wiklander #endif
1556*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1557*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
15583d3b0591SJens Wiklander     { MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256,
15593d3b0591SJens Wiklander       "TLS-PSK-WITH-ARIA-128-CBC-SHA256",
15603d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1561*32b31808SJens Wiklander       0,
1562*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15633d3b0591SJens Wiklander #endif
15643d3b0591SJens Wiklander 
15653d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
15663d3b0591SJens Wiklander 
15673d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)
15683d3b0591SJens Wiklander 
1569*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
15703d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384,
15713d3b0591SJens Wiklander       "TLS-ECDH-RSA-WITH-ARIA-256-GCM-SHA384",
15723d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
1573*32b31808SJens Wiklander       0,
1574*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15753d3b0591SJens Wiklander #endif
1576*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1577*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
15783d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384,
15793d3b0591SJens Wiklander       "TLS-ECDH-RSA-WITH-ARIA-256-CBC-SHA384",
15803d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
1581*32b31808SJens Wiklander       0,
1582*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15833d3b0591SJens Wiklander #endif
1584*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
15853d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256,
15863d3b0591SJens Wiklander       "TLS-ECDH-RSA-WITH-ARIA-128-GCM-SHA256",
15873d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
1588*32b31808SJens Wiklander       0,
1589*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15903d3b0591SJens Wiklander #endif
1591*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1592*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
15933d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256,
15943d3b0591SJens Wiklander       "TLS-ECDH-RSA-WITH-ARIA-128-CBC-SHA256",
15953d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
1596*32b31808SJens Wiklander       0,
1597*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
15983d3b0591SJens Wiklander #endif
15993d3b0591SJens Wiklander 
16003d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */
16013d3b0591SJens Wiklander 
16023d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
16033d3b0591SJens Wiklander 
1604*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
16053d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
16063d3b0591SJens Wiklander       "TLS-ECDHE-RSA-WITH-ARIA-256-GCM-SHA384",
16073d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
1608*32b31808SJens Wiklander       0,
1609*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16103d3b0591SJens Wiklander #endif
1611*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1612*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
16133d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,
16143d3b0591SJens Wiklander       "TLS-ECDHE-RSA-WITH-ARIA-256-CBC-SHA384",
16153d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
1616*32b31808SJens Wiklander       0,
1617*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16183d3b0591SJens Wiklander #endif
1619*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
16203d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
16213d3b0591SJens Wiklander       "TLS-ECDHE-RSA-WITH-ARIA-128-GCM-SHA256",
16223d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
1623*32b31808SJens Wiklander       0,
1624*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16253d3b0591SJens Wiklander #endif
1626*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1627*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
16283d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,
16293d3b0591SJens Wiklander       "TLS-ECDHE-RSA-WITH-ARIA-128-CBC-SHA256",
16303d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
1631*32b31808SJens Wiklander       0,
1632*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16333d3b0591SJens Wiklander #endif
16343d3b0591SJens Wiklander 
16353d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
16363d3b0591SJens Wiklander 
16373d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
16383d3b0591SJens Wiklander 
1639*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1640*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
16413d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384,
16423d3b0591SJens Wiklander       "TLS-ECDHE-PSK-WITH-ARIA-256-CBC-SHA384",
16433d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1644*32b31808SJens Wiklander       0,
1645*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16463d3b0591SJens Wiklander #endif
1647*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1648*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
16493d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256,
16503d3b0591SJens Wiklander       "TLS-ECDHE-PSK-WITH-ARIA-128-CBC-SHA256",
16513d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
1652*32b31808SJens Wiklander       0,
1653*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16543d3b0591SJens Wiklander #endif
16553d3b0591SJens Wiklander 
16563d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
16573d3b0591SJens Wiklander 
16583d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
16593d3b0591SJens Wiklander 
1660*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
16613d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
16623d3b0591SJens Wiklander       "TLS-ECDHE-ECDSA-WITH-ARIA-256-GCM-SHA384",
16633d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
1664*32b31808SJens Wiklander       0,
1665*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16663d3b0591SJens Wiklander #endif
1667*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1668*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
16693d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,
16703d3b0591SJens Wiklander       "TLS-ECDHE-ECDSA-WITH-ARIA-256-CBC-SHA384",
16713d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
1672*32b31808SJens Wiklander       0,
1673*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16743d3b0591SJens Wiklander #endif
1675*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
16763d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
16773d3b0591SJens Wiklander       "TLS-ECDHE-ECDSA-WITH-ARIA-128-GCM-SHA256",
16783d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
1679*32b31808SJens Wiklander       0,
1680*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16813d3b0591SJens Wiklander #endif
1682*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1683*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
16843d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,
16853d3b0591SJens Wiklander       "TLS-ECDHE-ECDSA-WITH-ARIA-128-CBC-SHA256",
16863d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
1687*32b31808SJens Wiklander       0,
1688*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
16893d3b0591SJens Wiklander #endif
16903d3b0591SJens Wiklander 
16913d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
16923d3b0591SJens Wiklander 
16933d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
16943d3b0591SJens Wiklander 
1695*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
16963d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384,
16973d3b0591SJens Wiklander       "TLS-ECDH-ECDSA-WITH-ARIA-256-GCM-SHA384",
16983d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1699*32b31808SJens Wiklander       0,
1700*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17013d3b0591SJens Wiklander #endif
1702*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1703*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
17043d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384,
17053d3b0591SJens Wiklander       "TLS-ECDH-ECDSA-WITH-ARIA-256-CBC-SHA384",
17063d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1707*32b31808SJens Wiklander       0,
1708*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17093d3b0591SJens Wiklander #endif
1710*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
17113d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256,
17123d3b0591SJens Wiklander       "TLS-ECDH-ECDSA-WITH-ARIA-128-GCM-SHA256",
17133d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1714*32b31808SJens Wiklander       0,
1715*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17163d3b0591SJens Wiklander #endif
1717*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1718*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
17193d3b0591SJens Wiklander     { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256,
17203d3b0591SJens Wiklander       "TLS-ECDH-ECDSA-WITH-ARIA-128-CBC-SHA256",
17213d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
1722*32b31808SJens Wiklander       0,
1723*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17243d3b0591SJens Wiklander #endif
17253d3b0591SJens Wiklander 
17263d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
17273d3b0591SJens Wiklander 
17283d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
17293d3b0591SJens Wiklander 
1730*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
17313d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
17323d3b0591SJens Wiklander       "TLS-DHE-RSA-WITH-ARIA-256-GCM-SHA384",
17333d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
1734*32b31808SJens Wiklander       0,
1735*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17363d3b0591SJens Wiklander #endif
1737*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1738*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
17393d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,
17403d3b0591SJens Wiklander       "TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384",
17413d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
1742*32b31808SJens Wiklander       0,
1743*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17443d3b0591SJens Wiklander #endif
1745*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
17463d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
17473d3b0591SJens Wiklander       "TLS-DHE-RSA-WITH-ARIA-128-GCM-SHA256",
17483d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
1749*32b31808SJens Wiklander       0,
1750*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17513d3b0591SJens Wiklander #endif
1752*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1753*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
17543d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,
17553d3b0591SJens Wiklander       "TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256",
17563d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
1757*32b31808SJens Wiklander       0,
1758*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17593d3b0591SJens Wiklander #endif
17603d3b0591SJens Wiklander 
17613d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
17623d3b0591SJens Wiklander 
17633d3b0591SJens Wiklander #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
17643d3b0591SJens Wiklander 
1765*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
17663d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
17673d3b0591SJens Wiklander       "TLS-DHE-PSK-WITH-ARIA-256-GCM-SHA384",
17683d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_GCM, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1769*32b31808SJens Wiklander       0,
1770*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17713d3b0591SJens Wiklander #endif
1772*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1773*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_384_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
17743d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384,
17753d3b0591SJens Wiklander       "TLS-DHE-PSK-WITH-ARIA-256-CBC-SHA384",
17763d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_256_CBC, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1777*32b31808SJens Wiklander       0,
1778*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17793d3b0591SJens Wiklander #endif
1780*32b31808SJens Wiklander #if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
17813d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
17823d3b0591SJens Wiklander       "TLS-DHE-PSK-WITH-ARIA-128-GCM-SHA256",
17833d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_GCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1784*32b31808SJens Wiklander       0,
1785*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17863d3b0591SJens Wiklander #endif
1787*32b31808SJens Wiklander #if (defined(MBEDTLS_CIPHER_MODE_CBC) && \
1788*32b31808SJens Wiklander     defined(MBEDTLS_HAS_ALG_SHA_256_VIA_MD_OR_PSA_BASED_ON_USE_PSA))
17893d3b0591SJens Wiklander     { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256,
17903d3b0591SJens Wiklander       "TLS-DHE-PSK-WITH-ARIA-128-CBC-SHA256",
17913d3b0591SJens Wiklander       MBEDTLS_CIPHER_ARIA_128_CBC, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
1792*32b31808SJens Wiklander       0,
1793*32b31808SJens Wiklander       MBEDTLS_SSL_VERSION_TLS1_2, MBEDTLS_SSL_VERSION_TLS1_2 },
17943d3b0591SJens Wiklander #endif
17953d3b0591SJens Wiklander 
17963d3b0591SJens Wiklander #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
17973d3b0591SJens Wiklander 
17983d3b0591SJens Wiklander #endif /* MBEDTLS_ARIA_C */
17993d3b0591SJens Wiklander 
18003d3b0591SJens Wiklander 
1801817466cbSJens Wiklander     { 0, "",
1802817466cbSJens Wiklander       MBEDTLS_CIPHER_NONE, MBEDTLS_MD_NONE, MBEDTLS_KEY_EXCHANGE_NONE,
1803*32b31808SJens Wiklander       0, 0, 0 }
1804817466cbSJens Wiklander };
1805817466cbSJens Wiklander 
1806817466cbSJens Wiklander #if defined(MBEDTLS_SSL_CIPHERSUITES)
1807817466cbSJens Wiklander const int *mbedtls_ssl_list_ciphersuites(void)
1808817466cbSJens Wiklander {
1809*32b31808SJens Wiklander     return ciphersuite_preference;
1810817466cbSJens Wiklander }
1811817466cbSJens Wiklander #else
1812817466cbSJens Wiklander #define MAX_CIPHERSUITES    sizeof(ciphersuite_definitions) /         \
1813817466cbSJens Wiklander     sizeof(ciphersuite_definitions[0])
1814817466cbSJens Wiklander static int supported_ciphersuites[MAX_CIPHERSUITES];
1815817466cbSJens Wiklander static int supported_init = 0;
1816817466cbSJens Wiklander 
1817039e02dfSJerome Forissier MBEDTLS_CHECK_RETURN_CRITICAL
18185b25c76aSJerome Forissier static int ciphersuite_is_removed(const mbedtls_ssl_ciphersuite_t *cs_info)
18195b25c76aSJerome Forissier {
18205b25c76aSJerome Forissier     (void) cs_info;
18215b25c76aSJerome Forissier 
1822*32b31808SJens Wiklander     return 0;
18235b25c76aSJerome Forissier }
18245b25c76aSJerome Forissier 
1825817466cbSJens Wiklander const int *mbedtls_ssl_list_ciphersuites(void)
1826817466cbSJens Wiklander {
1827817466cbSJens Wiklander     /*
1828817466cbSJens Wiklander      * On initial call filter out all ciphersuites not supported by current
1829817466cbSJens Wiklander      * build based on presence in the ciphersuite_definitions.
1830817466cbSJens Wiklander      */
1831*32b31808SJens Wiklander     if (supported_init == 0) {
1832817466cbSJens Wiklander         const int *p;
1833817466cbSJens Wiklander         int *q;
1834817466cbSJens Wiklander 
1835817466cbSJens Wiklander         for (p = ciphersuite_preference, q = supported_ciphersuites;
1836817466cbSJens Wiklander              *p != 0 && q < supported_ciphersuites + MAX_CIPHERSUITES - 1;
1837*32b31808SJens Wiklander              p++) {
1838817466cbSJens Wiklander             const mbedtls_ssl_ciphersuite_t *cs_info;
1839817466cbSJens Wiklander             if ((cs_info = mbedtls_ssl_ciphersuite_from_id(*p)) != NULL &&
1840*32b31808SJens Wiklander                 !ciphersuite_is_removed(cs_info)) {
1841817466cbSJens Wiklander                 *(q++) = *p;
1842817466cbSJens Wiklander             }
18435b25c76aSJerome Forissier         }
1844817466cbSJens Wiklander         *q = 0;
1845817466cbSJens Wiklander 
1846817466cbSJens Wiklander         supported_init = 1;
1847817466cbSJens Wiklander     }
1848817466cbSJens Wiklander 
1849*32b31808SJens Wiklander     return supported_ciphersuites;
1850817466cbSJens Wiklander }
1851817466cbSJens Wiklander #endif /* MBEDTLS_SSL_CIPHERSUITES */
1852817466cbSJens Wiklander 
1853817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_string(
1854817466cbSJens Wiklander     const char *ciphersuite_name)
1855817466cbSJens Wiklander {
1856817466cbSJens Wiklander     const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions;
1857817466cbSJens Wiklander 
1858*32b31808SJens Wiklander     if (NULL == ciphersuite_name) {
1859*32b31808SJens Wiklander         return NULL;
1860*32b31808SJens Wiklander     }
1861817466cbSJens Wiklander 
1862*32b31808SJens Wiklander     while (cur->id != 0) {
1863*32b31808SJens Wiklander         if (0 == strcmp(cur->name, ciphersuite_name)) {
1864*32b31808SJens Wiklander             return cur;
1865*32b31808SJens Wiklander         }
1866817466cbSJens Wiklander 
1867817466cbSJens Wiklander         cur++;
1868817466cbSJens Wiklander     }
1869817466cbSJens Wiklander 
1870*32b31808SJens Wiklander     return NULL;
1871817466cbSJens Wiklander }
1872817466cbSJens Wiklander 
1873817466cbSJens Wiklander const mbedtls_ssl_ciphersuite_t *mbedtls_ssl_ciphersuite_from_id(int ciphersuite)
1874817466cbSJens Wiklander {
1875817466cbSJens Wiklander     const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions;
1876817466cbSJens Wiklander 
1877*32b31808SJens Wiklander     while (cur->id != 0) {
1878*32b31808SJens Wiklander         if (cur->id == ciphersuite) {
1879*32b31808SJens Wiklander             return cur;
1880*32b31808SJens Wiklander         }
1881817466cbSJens Wiklander 
1882817466cbSJens Wiklander         cur++;
1883817466cbSJens Wiklander     }
1884817466cbSJens Wiklander 
1885*32b31808SJens Wiklander     return NULL;
1886817466cbSJens Wiklander }
1887817466cbSJens Wiklander 
1888817466cbSJens Wiklander const char *mbedtls_ssl_get_ciphersuite_name(const int ciphersuite_id)
1889817466cbSJens Wiklander {
1890817466cbSJens Wiklander     const mbedtls_ssl_ciphersuite_t *cur;
1891817466cbSJens Wiklander 
1892817466cbSJens Wiklander     cur = mbedtls_ssl_ciphersuite_from_id(ciphersuite_id);
1893817466cbSJens Wiklander 
1894*32b31808SJens Wiklander     if (cur == NULL) {
1895*32b31808SJens Wiklander         return "unknown";
1896*32b31808SJens Wiklander     }
1897817466cbSJens Wiklander 
1898*32b31808SJens Wiklander     return cur->name;
1899817466cbSJens Wiklander }
1900817466cbSJens Wiklander 
1901817466cbSJens Wiklander int mbedtls_ssl_get_ciphersuite_id(const char *ciphersuite_name)
1902817466cbSJens Wiklander {
1903817466cbSJens Wiklander     const mbedtls_ssl_ciphersuite_t *cur;
1904817466cbSJens Wiklander 
1905817466cbSJens Wiklander     cur = mbedtls_ssl_ciphersuite_from_string(ciphersuite_name);
1906817466cbSJens Wiklander 
1907*32b31808SJens Wiklander     if (cur == NULL) {
1908*32b31808SJens Wiklander         return 0;
1909*32b31808SJens Wiklander     }
1910817466cbSJens Wiklander 
1911*32b31808SJens Wiklander     return cur->id;
1912*32b31808SJens Wiklander }
1913*32b31808SJens Wiklander 
1914*32b31808SJens Wiklander size_t mbedtls_ssl_ciphersuite_get_cipher_key_bitlen(const mbedtls_ssl_ciphersuite_t *info)
1915*32b31808SJens Wiklander {
1916*32b31808SJens Wiklander #if defined(MBEDTLS_USE_PSA_CRYPTO)
1917*32b31808SJens Wiklander     psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
1918*32b31808SJens Wiklander     psa_key_type_t key_type;
1919*32b31808SJens Wiklander     psa_algorithm_t alg;
1920*32b31808SJens Wiklander     size_t key_bits;
1921*32b31808SJens Wiklander 
1922*32b31808SJens Wiklander     status = mbedtls_ssl_cipher_to_psa(info->cipher,
1923*32b31808SJens Wiklander                                        info->flags & MBEDTLS_CIPHERSUITE_SHORT_TAG ? 8 : 16,
1924*32b31808SJens Wiklander                                        &alg, &key_type, &key_bits);
1925*32b31808SJens Wiklander 
1926*32b31808SJens Wiklander     if (status != PSA_SUCCESS) {
1927*32b31808SJens Wiklander         return 0;
1928*32b31808SJens Wiklander     }
1929*32b31808SJens Wiklander 
1930*32b31808SJens Wiklander     return key_bits;
1931*32b31808SJens Wiklander #else
1932*32b31808SJens Wiklander     const mbedtls_cipher_info_t * const cipher_info =
1933*32b31808SJens Wiklander         mbedtls_cipher_info_from_type(info->cipher);
1934*32b31808SJens Wiklander 
1935*32b31808SJens Wiklander     return mbedtls_cipher_info_get_key_bitlen(cipher_info);
1936*32b31808SJens Wiklander #endif /* MBEDTLS_USE_PSA_CRYPTO */
1937817466cbSJens Wiklander }
1938817466cbSJens Wiklander 
1939817466cbSJens Wiklander #if defined(MBEDTLS_PK_C)
1940817466cbSJens Wiklander mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_pk_alg(const mbedtls_ssl_ciphersuite_t *info)
1941817466cbSJens Wiklander {
1942*32b31808SJens Wiklander     switch (info->key_exchange) {
1943817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_RSA:
1944817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
1945817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
1946817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_RSA_PSK:
1947*32b31808SJens Wiklander             return MBEDTLS_PK_RSA;
1948817466cbSJens Wiklander 
1949817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
1950*32b31808SJens Wiklander             return MBEDTLS_PK_ECDSA;
1951817466cbSJens Wiklander 
1952817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
1953817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
1954*32b31808SJens Wiklander             return MBEDTLS_PK_ECKEY;
1955817466cbSJens Wiklander 
1956817466cbSJens Wiklander         default:
1957*32b31808SJens Wiklander             return MBEDTLS_PK_NONE;
1958817466cbSJens Wiklander     }
1959817466cbSJens Wiklander }
1960817466cbSJens Wiklander 
1961*32b31808SJens Wiklander #if defined(MBEDTLS_USE_PSA_CRYPTO)
1962*32b31808SJens Wiklander psa_algorithm_t mbedtls_ssl_get_ciphersuite_sig_pk_psa_alg(const mbedtls_ssl_ciphersuite_t *info)
1963*32b31808SJens Wiklander {
1964*32b31808SJens Wiklander     switch (info->key_exchange) {
1965*32b31808SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_RSA:
1966*32b31808SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_RSA_PSK:
1967*32b31808SJens Wiklander             return PSA_ALG_RSA_PKCS1V15_CRYPT;
1968*32b31808SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
1969*32b31808SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
1970*32b31808SJens Wiklander             return PSA_ALG_RSA_PKCS1V15_SIGN(
1971*32b31808SJens Wiklander                 mbedtls_hash_info_psa_from_md(info->mac));
1972*32b31808SJens Wiklander 
1973*32b31808SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
1974*32b31808SJens Wiklander             return PSA_ALG_ECDSA(mbedtls_hash_info_psa_from_md(info->mac));
1975*32b31808SJens Wiklander 
1976*32b31808SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
1977*32b31808SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
1978*32b31808SJens Wiklander             return PSA_ALG_ECDH;
1979*32b31808SJens Wiklander 
1980*32b31808SJens Wiklander         default:
1981*32b31808SJens Wiklander             return PSA_ALG_NONE;
1982*32b31808SJens Wiklander     }
1983*32b31808SJens Wiklander }
1984*32b31808SJens Wiklander 
1985*32b31808SJens Wiklander psa_key_usage_t mbedtls_ssl_get_ciphersuite_sig_pk_psa_usage(const mbedtls_ssl_ciphersuite_t *info)
1986*32b31808SJens Wiklander {
1987*32b31808SJens Wiklander     switch (info->key_exchange) {
1988*32b31808SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_RSA:
1989*32b31808SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_RSA_PSK:
1990*32b31808SJens Wiklander             return PSA_KEY_USAGE_DECRYPT;
1991*32b31808SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
1992*32b31808SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
1993*32b31808SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
1994*32b31808SJens Wiklander             return PSA_KEY_USAGE_SIGN_HASH;
1995*32b31808SJens Wiklander 
1996*32b31808SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
1997*32b31808SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
1998*32b31808SJens Wiklander             return PSA_KEY_USAGE_DERIVE;
1999*32b31808SJens Wiklander 
2000*32b31808SJens Wiklander         default:
2001*32b31808SJens Wiklander             return 0;
2002*32b31808SJens Wiklander     }
2003*32b31808SJens Wiklander }
2004*32b31808SJens Wiklander #endif /* MBEDTLS_USE_PSA_CRYPTO */
2005*32b31808SJens Wiklander 
2006817466cbSJens Wiklander mbedtls_pk_type_t mbedtls_ssl_get_ciphersuite_sig_alg(const mbedtls_ssl_ciphersuite_t *info)
2007817466cbSJens Wiklander {
2008*32b31808SJens Wiklander     switch (info->key_exchange) {
2009817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
2010817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
2011*32b31808SJens Wiklander             return MBEDTLS_PK_RSA;
2012817466cbSJens Wiklander 
2013817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
2014*32b31808SJens Wiklander             return MBEDTLS_PK_ECDSA;
2015817466cbSJens Wiklander 
2016817466cbSJens Wiklander         default:
2017*32b31808SJens Wiklander             return MBEDTLS_PK_NONE;
2018817466cbSJens Wiklander     }
2019817466cbSJens Wiklander }
2020817466cbSJens Wiklander 
2021817466cbSJens Wiklander #endif /* MBEDTLS_PK_C */
2022817466cbSJens Wiklander 
20233d3b0591SJens Wiklander #if defined(MBEDTLS_ECDH_C) || defined(MBEDTLS_ECDSA_C) || \
20243d3b0591SJens Wiklander     defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
2025817466cbSJens Wiklander int mbedtls_ssl_ciphersuite_uses_ec(const mbedtls_ssl_ciphersuite_t *info)
2026817466cbSJens Wiklander {
2027*32b31808SJens Wiklander     switch (info->key_exchange) {
2028817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
2029817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
2030817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK:
2031817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
2032817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
20333d3b0591SJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECJPAKE:
2034*32b31808SJens Wiklander             return 1;
2035817466cbSJens Wiklander 
2036817466cbSJens Wiklander         default:
2037*32b31808SJens Wiklander             return 0;
2038817466cbSJens Wiklander     }
2039817466cbSJens Wiklander }
20403d3b0591SJens Wiklander #endif /* MBEDTLS_ECDH_C || MBEDTLS_ECDSA_C || MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED*/
2041817466cbSJens Wiklander 
204211fa71b9SJerome Forissier #if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED)
2043817466cbSJens Wiklander int mbedtls_ssl_ciphersuite_uses_psk(const mbedtls_ssl_ciphersuite_t *info)
2044817466cbSJens Wiklander {
2045*32b31808SJens Wiklander     switch (info->key_exchange) {
2046817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_PSK:
2047817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_RSA_PSK:
2048817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_DHE_PSK:
2049817466cbSJens Wiklander         case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK:
2050*32b31808SJens Wiklander             return 1;
2051817466cbSJens Wiklander 
2052817466cbSJens Wiklander         default:
2053*32b31808SJens Wiklander             return 0;
2054817466cbSJens Wiklander     }
2055817466cbSJens Wiklander }
205611fa71b9SJerome Forissier #endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */
2057817466cbSJens Wiklander 
2058817466cbSJens Wiklander #endif /* MBEDTLS_SSL_TLS_C */
2059