blob: 07db6a3b6a266a14064caaf63cc6cd9b1bcbe589 [file] [log] [blame]
Paul Bakker68884e32013-01-07 18:20:04 +01001/**
2 * \file ssl_ciphersuites.c
3 *
Manuel Pégourié-Gonnardb4fe3cb2015-01-22 16:11:05 +00004 * \brief SSL ciphersuites for mbed TLS
Paul Bakker68884e32013-01-07 18:20:04 +01005 *
Bence Szépkúti1e148272020-08-07 13:07:28 +02006 * Copyright The Mbed TLS Contributors
Manuel Pégourié-Gonnard37ff1402015-09-04 14:21:07 +02007 * SPDX-License-Identifier: Apache-2.0
8 *
9 * Licensed under the Apache License, Version 2.0 (the "License"); you may
10 * not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
12 *
13 * http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
Paul Bakker68884e32013-01-07 18:20:04 +010020 */
21
Gilles Peskinedb09ef62020-06-03 01:43:33 +020022#include "common.h"
Paul Bakker68884e32013-01-07 18:20:04 +010023
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020024#if defined(MBEDTLS_SSL_TLS_C)
Paul Bakker68884e32013-01-07 18:20:04 +010025
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +020026# if defined(MBEDTLS_PLATFORM_C)
27# include "mbedtls/platform.h"
28# else
29# include <stdlib.h>
30# endif
SimonBd5800b72016-04-26 07:43:27 +010031
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +020032# include "mbedtls/ssl_ciphersuites.h"
33# include "mbedtls/ssl.h"
34# include "ssl_misc.h"
Paul Bakker68884e32013-01-07 18:20:04 +010035
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +020036# include <string.h>
Paul Bakker68884e32013-01-07 18:20:04 +010037
Paul Bakker41c83d32013-03-20 14:39:14 +010038/*
39 * Ordered from most preferred to least preferred in terms of security.
Manuel Pégourié-Gonnard6fb0f742013-10-25 17:08:15 +020040 *
TRodziewicz75628d52021-06-18 12:56:27 +020041 * Current rule (except weak and null which come last):
Manuel Pégourié-Gonnard6fb0f742013-10-25 17:08:15 +020042 * 1. By key exchange:
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +020043 * Forward-secure non-PSK > forward-secure PSK > ECJPAKE > other non-PSK >
44 * other PSK
Manuel Pégourié-Gonnard6fb0f742013-10-25 17:08:15 +020045 * 2. By key length and cipher:
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +020046 * ChaCha > AES-256 > Camellia-256 > ARIA-256 > AES-128 > Camellia-128 >
47 * ARIA-128
Manuel Pégourié-Gonnard42b53742014-06-19 16:18:26 +020048 * 3. By cipher mode when relevant GCM > CCM > CBC > CCM_8
Manuel Pégourié-Gonnard6768da92014-05-14 12:26:51 +020049 * 4. By hash function used when relevant
Manuel Pégourié-Gonnard6fb0f742013-10-25 17:08:15 +020050 * 5. By key exchange/auth again: EC > non-EC
Paul Bakker41c83d32013-03-20 14:39:14 +010051 */
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +020052static const int ciphersuite_preference[] = {
53# if defined(MBEDTLS_SSL_CIPHERSUITES)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020054 MBEDTLS_SSL_CIPHERSUITES,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +020055# else
Manuel Pégourié-Gonnardce66d5e2018-06-14 11:11:15 +020056 /* Chacha-Poly ephemeral suites */
57 MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
58 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
59 MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
60
Paul Bakker27714b12013-04-07 23:07:12 +020061 /* All AES-256 ephemeral suites */
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020062 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
63 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
64 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
65 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM,
66 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM,
67 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
68 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
69 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
70 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
71 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
72 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
73 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8,
74 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8,
Paul Bakker27714b12013-04-07 23:07:12 +020075
76 /* All CAMELLIA-256 ephemeral suites */
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020077 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
78 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
79 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
80 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
81 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
82 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
83 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
Paul Bakker27714b12013-04-07 23:07:12 +020084
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +000085 /* All ARIA-256 ephemeral suites */
86 MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
87 MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
88 MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
89 MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,
90 MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,
91 MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,
92
Paul Bakker27714b12013-04-07 23:07:12 +020093 /* All AES-128 ephemeral suites */
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020094 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
95 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
96 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
97 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM,
98 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM,
99 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
100 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
101 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
102 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
103 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
104 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
105 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8,
106 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8,
Paul Bakker27714b12013-04-07 23:07:12 +0200107
108 /* All CAMELLIA-128 ephemeral suites */
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200109 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
110 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
111 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
112 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
113 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
114 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
115 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
Paul Bakker27714b12013-04-07 23:07:12 +0200116
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +0000117 /* All ARIA-128 ephemeral suites */
118 MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
119 MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
120 MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
121 MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,
122 MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,
123 MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,
124
Paul Bakkerd4a56ec2013-04-16 18:05:29 +0200125 /* The PSK ephemeral suites */
Manuel Pégourié-Gonnardce66d5e2018-06-14 11:11:15 +0200126 MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
127 MBEDTLS_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200128 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384,
129 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM,
130 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
131 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384,
132 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA,
133 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA,
134 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384,
135 MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
136 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
137 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8,
Manuel Pégourié-Gonnardaf37f0f2018-02-20 11:03:40 +0100138 MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
139 MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384,
140 MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384,
Manuel Pégourié-Gonnard6fb0f742013-10-25 17:08:15 +0200141
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200142 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256,
143 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM,
144 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
145 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256,
146 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA,
147 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA,
148 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256,
149 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
150 MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
151 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8,
Manuel Pégourié-Gonnardaf37f0f2018-02-20 11:03:40 +0100152 MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
153 MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256,
154 MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256,
Manuel Pégourié-Gonnard6fb0f742013-10-25 17:08:15 +0200155
Manuel Pégourié-Gonnard538cb7b2015-09-15 18:03:28 +0200156 /* The ECJPAKE suite */
157 MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8,
158
Paul Bakker27714b12013-04-07 23:07:12 +0200159 /* All AES-256 suites */
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200160 MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384, MBEDTLS_TLS_RSA_WITH_AES_256_CCM,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200161 MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256,
162 MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA,
163 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,
164 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,
165 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
166 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
167 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,
168 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
169 MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8,
Paul Bakker27714b12013-04-07 23:07:12 +0200170
171 /* All CAMELLIA-256 suites */
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200172 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384,
173 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256,
174 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA,
175 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384,
176 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,
177 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
178 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
Paul Bakker27714b12013-04-07 23:07:12 +0200179
Manuel Pégourié-Gonnardaf37f0f2018-02-20 11:03:40 +0100180 /* All ARIA-256 suites */
181 MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384,
182 MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384,
183 MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384,
184 MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384,
185 MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384,
186 MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384,
187
Paul Bakker27714b12013-04-07 23:07:12 +0200188 /* All AES-128 suites */
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200189 MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256, MBEDTLS_TLS_RSA_WITH_AES_128_CCM,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200190 MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256,
191 MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA,
192 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,
193 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,
194 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
195 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
196 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,
197 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
198 MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8,
Paul Bakker27714b12013-04-07 23:07:12 +0200199
200 /* All CAMELLIA-128 suites */
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200201 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256,
202 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256,
203 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA,
204 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256,
205 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
206 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
207 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
Paul Bakker27714b12013-04-07 23:07:12 +0200208
Manuel Pégourié-Gonnardaf37f0f2018-02-20 11:03:40 +0100209 /* All ARIA-128 suites */
210 MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256,
211 MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256,
212 MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256,
213 MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256,
214 MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256,
215 MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256,
216
Paul Bakkerd4a56ec2013-04-16 18:05:29 +0200217 /* The RSA PSK suites */
Manuel Pégourié-Gonnardce66d5e2018-06-14 11:11:15 +0200218 MBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200219 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384,
220 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384,
221 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA,
222 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384,
223 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +0000224 MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
225 MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384,
Manuel Pégourié-Gonnard6fb0f742013-10-25 17:08:15 +0200226
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200227 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256,
228 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256,
229 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA,
230 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256,
231 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +0000232 MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
233 MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256,
Manuel Pégourié-Gonnard6fb0f742013-10-25 17:08:15 +0200234
Paul Bakkerd4a56ec2013-04-16 18:05:29 +0200235 /* The PSK suites */
Manuel Pégourié-Gonnardce66d5e2018-06-14 11:11:15 +0200236 MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200237 MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384, MBEDTLS_TLS_PSK_WITH_AES_256_CCM,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200238 MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384,
239 MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA,
240 MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384,
241 MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384,
242 MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +0000243 MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384,
244 MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384,
Manuel Pégourié-Gonnard6fb0f742013-10-25 17:08:15 +0200245
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200246 MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256, MBEDTLS_TLS_PSK_WITH_AES_128_CCM,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200247 MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256,
248 MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA,
249 MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256,
250 MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256,
251 MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +0000252 MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256,
253 MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256,
Manuel Pégourié-Gonnard6fb0f742013-10-25 17:08:15 +0200254
Manuel Pégourié-Gonnard225d6aa2013-10-11 19:07:56 +0200255 /* NULL suites */
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200256 MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA, MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200257 MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200258 MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256, MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA,
259 MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384, MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200260 MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA,
Manuel Pégourié-Gonnard6fb0f742013-10-25 17:08:15 +0200261
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200262 MBEDTLS_TLS_RSA_WITH_NULL_SHA256, MBEDTLS_TLS_RSA_WITH_NULL_SHA,
263 MBEDTLS_TLS_RSA_WITH_NULL_MD5, MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA,
264 MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA, MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384,
265 MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256, MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA,
266 MBEDTLS_TLS_PSK_WITH_NULL_SHA384, MBEDTLS_TLS_PSK_WITH_NULL_SHA256,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200267 MBEDTLS_TLS_PSK_WITH_NULL_SHA,
Paul Bakker27714b12013-04-07 23:07:12 +0200268
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200269# endif /* MBEDTLS_SSL_CIPHERSUITES */
Paul Bakker68884e32013-01-07 18:20:04 +0100270 0
271};
272
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200273static const mbedtls_ssl_ciphersuite_t ciphersuite_definitions[] = {
274# if defined(MBEDTLS_CHACHAPOLY_C) && defined(MBEDTLS_SHA256_C) && \
275 defined(MBEDTLS_SSL_PROTO_TLS1_2)
276# if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
Manuel Pégourié-Gonnardce66d5e2018-06-14 11:11:15 +0200277 { MBEDTLS_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
278 "TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256",
279 MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200280 MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
281 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
282 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
283# endif
284# if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
Manuel Pégourié-Gonnardce66d5e2018-06-14 11:11:15 +0200285 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
286 "TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256",
287 MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200288 MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, MBEDTLS_SSL_MAJOR_VERSION_3,
289 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
290 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
291# endif
292# if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
Manuel Pégourié-Gonnardce66d5e2018-06-14 11:11:15 +0200293 { MBEDTLS_TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
294 "TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256",
295 MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200296 MBEDTLS_KEY_EXCHANGE_DHE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
297 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
298 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
299# endif
300# if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
Manuel Pégourié-Gonnardce66d5e2018-06-14 11:11:15 +0200301 { MBEDTLS_TLS_PSK_WITH_CHACHA20_POLY1305_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200302 "TLS-PSK-WITH-CHACHA20-POLY1305-SHA256", MBEDTLS_CIPHER_CHACHA20_POLY1305,
303 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
304 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
305 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
306# endif
307# if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
Manuel Pégourié-Gonnardce66d5e2018-06-14 11:11:15 +0200308 { MBEDTLS_TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
309 "TLS-ECDHE-PSK-WITH-CHACHA20-POLY1305-SHA256",
310 MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200311 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
312 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
313 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
314# endif
315# if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
Manuel Pégourié-Gonnardce66d5e2018-06-14 11:11:15 +0200316 { MBEDTLS_TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256,
317 "TLS-DHE-PSK-WITH-CHACHA20-POLY1305-SHA256",
318 MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200319 MBEDTLS_KEY_EXCHANGE_DHE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
320 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
321 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
322# endif
323# if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
Manuel Pégourié-Gonnardce66d5e2018-06-14 11:11:15 +0200324 { MBEDTLS_TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256,
325 "TLS-RSA-PSK-WITH-CHACHA20-POLY1305-SHA256",
326 MBEDTLS_CIPHER_CHACHA20_POLY1305, MBEDTLS_MD_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200327 MBEDTLS_KEY_EXCHANGE_RSA_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
328 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
329 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
330# endif
331# endif /* MBEDTLS_CHACHAPOLY_C && \
332 MBEDTLS_SHA256_C && \
333 MBEDTLS_SSL_PROTO_TLS1_2 */
334# if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
335# if defined(MBEDTLS_AES_C)
336# if defined(MBEDTLS_SHA1_C)
337# if defined(MBEDTLS_CIPHER_MODE_CBC)
338 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
339 "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC,
340 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
Manuel Pégourié-Gonnardce66d5e2018-06-14 11:11:15 +0200341 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200342 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
343 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
344 "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA", MBEDTLS_CIPHER_AES_256_CBC,
345 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
Manuel Pégourié-Gonnardce66d5e2018-06-14 11:11:15 +0200346 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200347 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
348# endif /* MBEDTLS_CIPHER_MODE_CBC */
349# endif /* MBEDTLS_SHA1_C */
350# if defined(MBEDTLS_SHA256_C)
351# if defined(MBEDTLS_CIPHER_MODE_CBC)
352 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,
353 "TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC,
354 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200355 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200356 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
357# endif /* MBEDTLS_CIPHER_MODE_CBC */
358# if defined(MBEDTLS_GCM_C)
359 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
360 "TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256", MBEDTLS_CIPHER_AES_128_GCM,
361 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200362 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200363 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
364# endif /* MBEDTLS_GCM_C */
365# endif /* MBEDTLS_SHA256_C */
366# if defined(MBEDTLS_SHA384_C)
367# if defined(MBEDTLS_CIPHER_MODE_CBC)
368 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,
369 "TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC,
370 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200371 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200372 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
373# endif /* MBEDTLS_CIPHER_MODE_CBC */
374# if defined(MBEDTLS_GCM_C)
375 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
376 "TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384", MBEDTLS_CIPHER_AES_256_GCM,
377 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200378 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200379 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
380# endif /* MBEDTLS_GCM_C */
381# endif /* MBEDTLS_SHA384_C */
382# if defined(MBEDTLS_CCM_C)
383 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM,
384 "TLS-ECDHE-ECDSA-WITH-AES-256-CCM", MBEDTLS_CIPHER_AES_256_CCM,
385 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200386 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200387 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
388 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8,
389 "TLS-ECDHE-ECDSA-WITH-AES-256-CCM-8", MBEDTLS_CIPHER_AES_256_CCM,
390 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200391 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
392 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
393 MBEDTLS_CIPHERSUITE_SHORT_TAG },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200394 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM,
395 "TLS-ECDHE-ECDSA-WITH-AES-128-CCM", MBEDTLS_CIPHER_AES_128_CCM,
396 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200397 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200398 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
399 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8,
400 "TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8", MBEDTLS_CIPHER_AES_128_CCM,
401 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200402 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
403 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
404 MBEDTLS_CIPHERSUITE_SHORT_TAG },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200405# endif /* MBEDTLS_CCM_C */
406# endif /* MBEDTLS_AES_C */
Manuel Pégourié-Gonnard32ea60a2013-08-17 17:39:04 +0200407
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200408# if defined(MBEDTLS_CAMELLIA_C)
409# if defined(MBEDTLS_CIPHER_MODE_CBC)
410# if defined(MBEDTLS_SHA256_C)
411 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
412 "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-CBC-SHA256",
413 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256,
414 MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, MBEDTLS_SSL_MAJOR_VERSION_3,
415 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
416 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
417# endif /* MBEDTLS_SHA256_C */
418# if defined(MBEDTLS_SHA384_C)
419 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
420 "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-CBC-SHA384",
421 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384,
422 MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, MBEDTLS_SSL_MAJOR_VERSION_3,
423 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
424 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
425# endif /* MBEDTLS_SHA384_C */
426# endif /* MBEDTLS_CIPHER_MODE_CBC */
Manuel Pégourié-Gonnard8d01eea2013-10-24 19:49:07 +0200427
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200428# if defined(MBEDTLS_GCM_C)
429# if defined(MBEDTLS_SHA256_C)
430 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
431 "TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-GCM-SHA256",
432 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256,
433 MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, MBEDTLS_SSL_MAJOR_VERSION_3,
434 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
435 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
436# endif /* MBEDTLS_SHA256_C */
437# if defined(MBEDTLS_SHA384_C)
438 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
439 "TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-GCM-SHA384",
440 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384,
441 MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA, MBEDTLS_SSL_MAJOR_VERSION_3,
442 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
443 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
444# endif /* MBEDTLS_SHA384_C */
445# endif /* MBEDTLS_GCM_C */
446# endif /* MBEDTLS_CAMELLIA_C */
Manuel Pégourié-Gonnard32ea60a2013-08-17 17:39:04 +0200447
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200448# if defined(MBEDTLS_CIPHER_NULL_CIPHER)
449# if defined(MBEDTLS_SHA1_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200450 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA, "TLS-ECDHE-ECDSA-WITH-NULL-SHA",
451 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200452 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200453 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
454 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200455# endif /* MBEDTLS_SHA1_C */
456# endif /* MBEDTLS_CIPHER_NULL_CIPHER */
457# endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
Manuel Pégourié-Gonnard32ea60a2013-08-17 17:39:04 +0200458
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200459# if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
460# if defined(MBEDTLS_AES_C)
461# if defined(MBEDTLS_SHA1_C)
462# if defined(MBEDTLS_CIPHER_MODE_CBC)
463 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
464 "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC,
465 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200466 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200467 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
468 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
469 "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA", MBEDTLS_CIPHER_AES_256_CBC,
470 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200471 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200472 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
473# endif /* MBEDTLS_CIPHER_MODE_CBC */
474# endif /* MBEDTLS_SHA1_C */
475# if defined(MBEDTLS_SHA256_C)
476# if defined(MBEDTLS_CIPHER_MODE_CBC)
477 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,
478 "TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC,
479 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200480 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200481 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
482# endif /* MBEDTLS_CIPHER_MODE_CBC */
483# if defined(MBEDTLS_GCM_C)
484 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
485 "TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256", MBEDTLS_CIPHER_AES_128_GCM,
486 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200487 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200488 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
489# endif /* MBEDTLS_GCM_C */
490# endif /* MBEDTLS_SHA256_C */
491# if defined(MBEDTLS_SHA384_C)
492# if defined(MBEDTLS_CIPHER_MODE_CBC)
493 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
494 "TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC,
495 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200496 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200497 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
498# endif /* MBEDTLS_CIPHER_MODE_CBC */
499# if defined(MBEDTLS_GCM_C)
500 { MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
501 "TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384", MBEDTLS_CIPHER_AES_256_GCM,
502 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200503 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200504 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
505# endif /* MBEDTLS_GCM_C */
506# endif /* MBEDTLS_SHA384_C */
507# endif /* MBEDTLS_AES_C */
Paul Bakker27714b12013-04-07 23:07:12 +0200508
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200509# if defined(MBEDTLS_CAMELLIA_C)
510# if defined(MBEDTLS_CIPHER_MODE_CBC)
511# if defined(MBEDTLS_SHA256_C)
512 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
513 "TLS-ECDHE-RSA-WITH-CAMELLIA-128-CBC-SHA256",
514 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256,
515 MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
516 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
517 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
518# endif /* MBEDTLS_SHA256_C */
519# if defined(MBEDTLS_SHA384_C)
520 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384,
521 "TLS-ECDHE-RSA-WITH-CAMELLIA-256-CBC-SHA384",
522 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384,
523 MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
524 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
525 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
526# endif /* MBEDTLS_SHA384_C */
527# endif /* MBEDTLS_CIPHER_MODE_CBC */
Manuel Pégourié-Gonnard8d01eea2013-10-24 19:49:07 +0200528
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200529# if defined(MBEDTLS_GCM_C)
530# if defined(MBEDTLS_SHA256_C)
531 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
532 "TLS-ECDHE-RSA-WITH-CAMELLIA-128-GCM-SHA256",
533 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256,
534 MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
535 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
536 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
537# endif /* MBEDTLS_SHA256_C */
538# if defined(MBEDTLS_SHA384_C)
539 { MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
540 "TLS-ECDHE-RSA-WITH-CAMELLIA-256-GCM-SHA384",
541 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384,
542 MBEDTLS_KEY_EXCHANGE_ECDHE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
543 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
544 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
545# endif /* MBEDTLS_SHA384_C */
546# endif /* MBEDTLS_GCM_C */
547# endif /* MBEDTLS_CAMELLIA_C */
Paul Bakker27714b12013-04-07 23:07:12 +0200548
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200549# if defined(MBEDTLS_CIPHER_NULL_CIPHER)
550# if defined(MBEDTLS_SHA1_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200551 { MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA, "TLS-ECDHE-RSA-WITH-NULL-SHA",
552 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200553 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200554 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
555 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200556# endif /* MBEDTLS_SHA1_C */
557# endif /* MBEDTLS_CIPHER_NULL_CIPHER */
558# endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
Paul Bakker41c83d32013-03-20 14:39:14 +0100559
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200560# if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
561# if defined(MBEDTLS_AES_C)
562# if defined(MBEDTLS_SHA384_C) && defined(MBEDTLS_GCM_C)
563 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
564 "TLS-DHE-RSA-WITH-AES-256-GCM-SHA384", MBEDTLS_CIPHER_AES_256_GCM,
565 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200566 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200567 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
568# endif /* MBEDTLS_SHA384_C && MBEDTLS_GCM_C */
Paul Bakker68884e32013-01-07 18:20:04 +0100569
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200570# if defined(MBEDTLS_SHA256_C)
571# if defined(MBEDTLS_GCM_C)
572 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
573 "TLS-DHE-RSA-WITH-AES-128-GCM-SHA256", MBEDTLS_CIPHER_AES_128_GCM,
574 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200575 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200576 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
577# endif /* MBEDTLS_GCM_C */
Paul Bakker68884e32013-01-07 18:20:04 +0100578
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200579# if defined(MBEDTLS_CIPHER_MODE_CBC)
580 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
581 "TLS-DHE-RSA-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC,
582 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200583 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200584 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Paul Bakker68884e32013-01-07 18:20:04 +0100585
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200586 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
587 "TLS-DHE-RSA-WITH-AES-256-CBC-SHA256", MBEDTLS_CIPHER_AES_256_CBC,
588 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200589 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200590 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
591# endif /* MBEDTLS_CIPHER_MODE_CBC */
592# endif /* MBEDTLS_SHA256_C */
Paul Bakker68884e32013-01-07 18:20:04 +0100593
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200594# if defined(MBEDTLS_CIPHER_MODE_CBC)
595# if defined(MBEDTLS_SHA1_C)
596 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
597 "TLS-DHE-RSA-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC,
598 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200599 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200600 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Paul Bakker68884e32013-01-07 18:20:04 +0100601
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200602 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
603 "TLS-DHE-RSA-WITH-AES-256-CBC-SHA", MBEDTLS_CIPHER_AES_256_CBC,
604 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200605 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200606 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
607# endif /* MBEDTLS_SHA1_C */
608# endif /* MBEDTLS_CIPHER_MODE_CBC */
609# if defined(MBEDTLS_CCM_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200610 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM, "TLS-DHE-RSA-WITH-AES-256-CCM",
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200611 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256,
612 MBEDTLS_KEY_EXCHANGE_DHE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
613 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
614 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200615 { MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8, "TLS-DHE-RSA-WITH-AES-256-CCM-8",
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200616 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256,
617 MBEDTLS_KEY_EXCHANGE_DHE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
618 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
619 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_CIPHERSUITE_SHORT_TAG },
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200620 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM, "TLS-DHE-RSA-WITH-AES-128-CCM",
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200621 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256,
622 MBEDTLS_KEY_EXCHANGE_DHE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
623 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
624 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200625 { MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8, "TLS-DHE-RSA-WITH-AES-128-CCM-8",
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200626 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256,
627 MBEDTLS_KEY_EXCHANGE_DHE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
628 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
629 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_CIPHERSUITE_SHORT_TAG },
630# endif /* MBEDTLS_CCM_C */
631# endif /* MBEDTLS_AES_C */
Paul Bakker68884e32013-01-07 18:20:04 +0100632
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200633# if defined(MBEDTLS_CAMELLIA_C)
634# if defined(MBEDTLS_CIPHER_MODE_CBC)
635# if defined(MBEDTLS_SHA256_C)
636 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
637 "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256",
638 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256,
639 MBEDTLS_KEY_EXCHANGE_DHE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
640 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
641 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Paul Bakker68884e32013-01-07 18:20:04 +0100642
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200643 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
644 "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256",
645 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA256,
646 MBEDTLS_KEY_EXCHANGE_DHE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
647 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
648 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
649# endif /* MBEDTLS_SHA256_C */
Paul Bakker68884e32013-01-07 18:20:04 +0100650
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200651# if defined(MBEDTLS_SHA1_C)
652 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
653 "TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA", MBEDTLS_CIPHER_CAMELLIA_128_CBC,
654 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200655 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200656 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Paul Bakker68884e32013-01-07 18:20:04 +0100657
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200658 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
659 "TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA", MBEDTLS_CIPHER_CAMELLIA_256_CBC,
660 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200661 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200662 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
663# endif /* MBEDTLS_SHA1_C */
664# endif /* MBEDTLS_CIPHER_MODE_CBC */
665# if defined(MBEDTLS_GCM_C)
666# if defined(MBEDTLS_SHA256_C)
667 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256,
668 "TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256",
669 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256,
670 MBEDTLS_KEY_EXCHANGE_DHE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
671 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
672 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
673# endif /* MBEDTLS_SHA256_C */
Manuel Pégourié-Gonnard8d01eea2013-10-24 19:49:07 +0200674
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200675# if defined(MBEDTLS_SHA384_C)
676 { MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384,
677 "TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384",
678 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384,
679 MBEDTLS_KEY_EXCHANGE_DHE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
680 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
681 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
682# endif /* MBEDTLS_SHA384_C */
683# endif /* MBEDTLS_GCM_C */
684# endif /* MBEDTLS_CAMELLIA_C */
Paul Bakker68884e32013-01-07 18:20:04 +0100685
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200686# endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
Paul Bakker68884e32013-01-07 18:20:04 +0100687
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200688# if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
689# if defined(MBEDTLS_AES_C)
690# if defined(MBEDTLS_SHA384_C) && defined(MBEDTLS_GCM_C)
691 { MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384,
692 "TLS-RSA-WITH-AES-256-GCM-SHA384", MBEDTLS_CIPHER_AES_256_GCM,
693 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
694 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
695 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
696# endif /* MBEDTLS_SHA384_C && MBEDTLS_GCM_C */
Paul Bakker68884e32013-01-07 18:20:04 +0100697
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200698# if defined(MBEDTLS_SHA256_C)
699# if defined(MBEDTLS_GCM_C)
700 { MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256,
701 "TLS-RSA-WITH-AES-128-GCM-SHA256", MBEDTLS_CIPHER_AES_128_GCM,
702 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
703 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
704 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
705# endif /* MBEDTLS_GCM_C */
Paul Bakker68884e32013-01-07 18:20:04 +0100706
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200707# if defined(MBEDTLS_CIPHER_MODE_CBC)
708 { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256,
709 "TLS-RSA-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC,
710 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
711 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
712 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Paul Bakker68884e32013-01-07 18:20:04 +0100713
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200714 { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256,
715 "TLS-RSA-WITH-AES-256-CBC-SHA256", MBEDTLS_CIPHER_AES_256_CBC,
716 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
717 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
718 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
719# endif /* MBEDTLS_CIPHER_MODE_CBC */
720# endif /* MBEDTLS_SHA256_C */
Paul Bakker68884e32013-01-07 18:20:04 +0100721
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200722# if defined(MBEDTLS_SHA1_C)
723# if defined(MBEDTLS_CIPHER_MODE_CBC)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200724 { MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA, "TLS-RSA-WITH-AES-128-CBC-SHA",
725 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200726 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200727 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Paul Bakker68884e32013-01-07 18:20:04 +0100728
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200729 { MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA, "TLS-RSA-WITH-AES-256-CBC-SHA",
730 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200731 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200732 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
733# endif /* MBEDTLS_CIPHER_MODE_CBC */
734# endif /* MBEDTLS_SHA1_C */
735# if defined(MBEDTLS_CCM_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200736 { MBEDTLS_TLS_RSA_WITH_AES_256_CCM, "TLS-RSA-WITH-AES-256-CCM",
737 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
738 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200739 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200740 { MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8, "TLS-RSA-WITH-AES-256-CCM-8",
741 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
742 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
743 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
744 MBEDTLS_CIPHERSUITE_SHORT_TAG },
745 { MBEDTLS_TLS_RSA_WITH_AES_128_CCM, "TLS-RSA-WITH-AES-128-CCM",
746 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
747 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200748 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200749 { MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8, "TLS-RSA-WITH-AES-128-CCM-8",
750 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
751 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
752 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
753 MBEDTLS_CIPHERSUITE_SHORT_TAG },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200754# endif /* MBEDTLS_CCM_C */
755# endif /* MBEDTLS_AES_C */
Paul Bakker68884e32013-01-07 18:20:04 +0100756
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200757# if defined(MBEDTLS_CAMELLIA_C)
758# if defined(MBEDTLS_CIPHER_MODE_CBC)
759# if defined(MBEDTLS_SHA256_C)
760 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256,
761 "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_CBC,
762 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
763 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
764 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Paul Bakker68884e32013-01-07 18:20:04 +0100765
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200766 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256,
767 "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256", MBEDTLS_CIPHER_CAMELLIA_256_CBC,
768 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
769 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
770 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
771# endif /* MBEDTLS_SHA256_C */
Paul Bakker68884e32013-01-07 18:20:04 +0100772
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200773# if defined(MBEDTLS_SHA1_C)
774 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA,
775 "TLS-RSA-WITH-CAMELLIA-128-CBC-SHA", MBEDTLS_CIPHER_CAMELLIA_128_CBC,
776 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
777 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
778 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Paul Bakker68884e32013-01-07 18:20:04 +0100779
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200780 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA,
781 "TLS-RSA-WITH-CAMELLIA-256-CBC-SHA", MBEDTLS_CIPHER_CAMELLIA_256_CBC,
782 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
783 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
784 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
785# endif /* MBEDTLS_SHA1_C */
786# endif /* MBEDTLS_CIPHER_MODE_CBC */
Manuel Pégourié-Gonnard8d01eea2013-10-24 19:49:07 +0200787
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200788# if defined(MBEDTLS_GCM_C)
789# if defined(MBEDTLS_SHA256_C)
790 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256,
791 "TLS-RSA-WITH-CAMELLIA-128-GCM-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_GCM,
792 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
793 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
794 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
795# endif /* MBEDTLS_SHA256_C */
Manuel Pégourié-Gonnard8d01eea2013-10-24 19:49:07 +0200796
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200797# if defined(MBEDTLS_SHA384_C)
798 { MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384,
799 "TLS-RSA-WITH-CAMELLIA-256-GCM-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_GCM,
800 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
801 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
802 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
803# endif /* MBEDTLS_SHA384_C */
804# endif /* MBEDTLS_GCM_C */
805# endif /* MBEDTLS_CAMELLIA_C */
Paul Bakker68884e32013-01-07 18:20:04 +0100806
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200807# endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
Paul Bakker68884e32013-01-07 18:20:04 +0100808
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200809# if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)
810# if defined(MBEDTLS_AES_C)
811# if defined(MBEDTLS_SHA1_C)
812# if defined(MBEDTLS_CIPHER_MODE_CBC)
813 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,
814 "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC,
815 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200816 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200817 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
818 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,
819 "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA", MBEDTLS_CIPHER_AES_256_CBC,
820 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200821 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200822 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
823# endif /* MBEDTLS_CIPHER_MODE_CBC */
824# endif /* MBEDTLS_SHA1_C */
825# if defined(MBEDTLS_SHA256_C)
826# if defined(MBEDTLS_CIPHER_MODE_CBC)
827 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256,
828 "TLS-ECDH-RSA-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC,
829 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200830 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200831 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
832# endif /* MBEDTLS_CIPHER_MODE_CBC */
833# if defined(MBEDTLS_GCM_C)
834 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256,
835 "TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256", MBEDTLS_CIPHER_AES_128_GCM,
836 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200837 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200838 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
839# endif /* MBEDTLS_GCM_C */
840# endif /* MBEDTLS_SHA256_C */
841# if defined(MBEDTLS_SHA384_C)
842# if defined(MBEDTLS_CIPHER_MODE_CBC)
843 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384,
844 "TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC,
845 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200846 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200847 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
848# endif /* MBEDTLS_CIPHER_MODE_CBC */
849# if defined(MBEDTLS_GCM_C)
850 { MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384,
851 "TLS-ECDH-RSA-WITH-AES-256-GCM-SHA384", MBEDTLS_CIPHER_AES_256_GCM,
852 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200853 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200854 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
855# endif /* MBEDTLS_GCM_C */
856# endif /* MBEDTLS_SHA384_C */
857# endif /* MBEDTLS_AES_C */
Manuel Pégourié-Gonnard25781b22013-12-11 16:17:10 +0100858
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200859# if defined(MBEDTLS_CAMELLIA_C)
860# if defined(MBEDTLS_CIPHER_MODE_CBC)
861# if defined(MBEDTLS_SHA256_C)
862 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256,
863 "TLS-ECDH-RSA-WITH-CAMELLIA-128-CBC-SHA256",
864 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256,
865 MBEDTLS_KEY_EXCHANGE_ECDH_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
866 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
867 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
868# endif /* MBEDTLS_SHA256_C */
869# if defined(MBEDTLS_SHA384_C)
870 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384,
871 "TLS-ECDH-RSA-WITH-CAMELLIA-256-CBC-SHA384",
872 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384,
873 MBEDTLS_KEY_EXCHANGE_ECDH_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
874 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
875 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
876# endif /* MBEDTLS_SHA384_C */
877# endif /* MBEDTLS_CIPHER_MODE_CBC */
Manuel Pégourié-Gonnard25781b22013-12-11 16:17:10 +0100878
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200879# if defined(MBEDTLS_GCM_C)
880# if defined(MBEDTLS_SHA256_C)
881 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256,
882 "TLS-ECDH-RSA-WITH-CAMELLIA-128-GCM-SHA256",
883 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256,
884 MBEDTLS_KEY_EXCHANGE_ECDH_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
885 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
886 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
887# endif /* MBEDTLS_SHA256_C */
888# if defined(MBEDTLS_SHA384_C)
889 { MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384,
890 "TLS-ECDH-RSA-WITH-CAMELLIA-256-GCM-SHA384",
891 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384,
892 MBEDTLS_KEY_EXCHANGE_ECDH_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
893 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
894 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
895# endif /* MBEDTLS_SHA384_C */
896# endif /* MBEDTLS_GCM_C */
897# endif /* MBEDTLS_CAMELLIA_C */
Manuel Pégourié-Gonnard25781b22013-12-11 16:17:10 +0100898
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200899# if defined(MBEDTLS_CIPHER_NULL_CIPHER)
900# if defined(MBEDTLS_SHA1_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200901 { MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA, "TLS-ECDH-RSA-WITH-NULL-SHA",
902 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200903 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200904 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
905 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200906# endif /* MBEDTLS_SHA1_C */
907# endif /* MBEDTLS_CIPHER_NULL_CIPHER */
908# endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */
Manuel Pégourié-Gonnard25781b22013-12-11 16:17:10 +0100909
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200910# if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
911# if defined(MBEDTLS_AES_C)
912# if defined(MBEDTLS_SHA1_C)
913# if defined(MBEDTLS_CIPHER_MODE_CBC)
914 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
915 "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC,
916 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200917 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200918 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
919 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,
920 "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA", MBEDTLS_CIPHER_AES_256_CBC,
921 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200922 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200923 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
924# endif /* MBEDTLS_CIPHER_MODE_CBC */
925# endif /* MBEDTLS_SHA1_C */
926# if defined(MBEDTLS_SHA256_C)
927# if defined(MBEDTLS_CIPHER_MODE_CBC)
928 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,
929 "TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC,
930 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +0200931 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200932 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
933# endif /* MBEDTLS_CIPHER_MODE_CBC */
934# if defined(MBEDTLS_GCM_C)
935 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256,
936 "TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256", MBEDTLS_CIPHER_AES_128_GCM,
937 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200938 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200939 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
940# endif /* MBEDTLS_GCM_C */
941# endif /* MBEDTLS_SHA256_C */
942# if defined(MBEDTLS_SHA384_C)
943# if defined(MBEDTLS_CIPHER_MODE_CBC)
944 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384,
945 "TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC,
946 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200947 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200948 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
949# endif /* MBEDTLS_CIPHER_MODE_CBC */
950# if defined(MBEDTLS_GCM_C)
951 { MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384,
952 "TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384", MBEDTLS_CIPHER_AES_256_GCM,
953 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200954 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200955 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
956# endif /* MBEDTLS_GCM_C */
957# endif /* MBEDTLS_SHA384_C */
958# endif /* MBEDTLS_AES_C */
Manuel Pégourié-Gonnard25781b22013-12-11 16:17:10 +0100959
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200960# if defined(MBEDTLS_CAMELLIA_C)
961# if defined(MBEDTLS_CIPHER_MODE_CBC)
962# if defined(MBEDTLS_SHA256_C)
963 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256,
964 "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-CBC-SHA256",
965 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256,
966 MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, MBEDTLS_SSL_MAJOR_VERSION_3,
967 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
968 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
969# endif /* MBEDTLS_SHA256_C */
970# if defined(MBEDTLS_SHA384_C)
971 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384,
972 "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-CBC-SHA384",
973 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384,
974 MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, MBEDTLS_SSL_MAJOR_VERSION_3,
975 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
976 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
977# endif /* MBEDTLS_SHA384_C */
978# endif /* MBEDTLS_CIPHER_MODE_CBC */
Manuel Pégourié-Gonnard25781b22013-12-11 16:17:10 +0100979
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +0200980# if defined(MBEDTLS_GCM_C)
981# if defined(MBEDTLS_SHA256_C)
982 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256,
983 "TLS-ECDH-ECDSA-WITH-CAMELLIA-128-GCM-SHA256",
984 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256,
985 MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, MBEDTLS_SSL_MAJOR_VERSION_3,
986 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
987 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
988# endif /* MBEDTLS_SHA256_C */
989# if defined(MBEDTLS_SHA384_C)
990 { MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384,
991 "TLS-ECDH-ECDSA-WITH-CAMELLIA-256-GCM-SHA384",
992 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384,
993 MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA, MBEDTLS_SSL_MAJOR_VERSION_3,
994 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
995 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
996# endif /* MBEDTLS_SHA384_C */
997# endif /* MBEDTLS_GCM_C */
998# endif /* MBEDTLS_CAMELLIA_C */
Manuel Pégourié-Gonnard25781b22013-12-11 16:17:10 +0100999
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001000# if defined(MBEDTLS_CIPHER_NULL_CIPHER)
1001# if defined(MBEDTLS_SHA1_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001002 { MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA, "TLS-ECDH-ECDSA-WITH-NULL-SHA",
1003 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001004 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001005 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1006 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001007# endif /* MBEDTLS_SHA1_C */
1008# endif /* MBEDTLS_CIPHER_NULL_CIPHER */
1009# endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
Manuel Pégourié-Gonnard25781b22013-12-11 16:17:10 +01001010
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001011# if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
1012# if defined(MBEDTLS_AES_C)
1013# if defined(MBEDTLS_GCM_C)
1014# if defined(MBEDTLS_SHA256_C)
1015 { MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256,
1016 "TLS-PSK-WITH-AES-128-GCM-SHA256", MBEDTLS_CIPHER_AES_128_GCM,
1017 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1018 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1019 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1020# endif /* MBEDTLS_SHA256_C */
Paul Bakker40afb4b2013-04-19 22:03:30 +02001021
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001022# if defined(MBEDTLS_SHA384_C)
1023 { MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384,
1024 "TLS-PSK-WITH-AES-256-GCM-SHA384", MBEDTLS_CIPHER_AES_256_GCM,
1025 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1026 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1027 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1028# endif /* MBEDTLS_SHA384_C */
1029# endif /* MBEDTLS_GCM_C */
Paul Bakker40afb4b2013-04-19 22:03:30 +02001030
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001031# if defined(MBEDTLS_CIPHER_MODE_CBC)
1032# if defined(MBEDTLS_SHA256_C)
1033 { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256,
1034 "TLS-PSK-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC,
1035 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1036 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1037 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1038# endif /* MBEDTLS_SHA256_C */
Paul Bakker40afb4b2013-04-19 22:03:30 +02001039
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001040# if defined(MBEDTLS_SHA384_C)
1041 { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384,
1042 "TLS-PSK-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC,
1043 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1044 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1045 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1046# endif /* MBEDTLS_SHA384_C */
Paul Bakker40afb4b2013-04-19 22:03:30 +02001047
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001048# if defined(MBEDTLS_SHA1_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001049 { MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA, "TLS-PSK-WITH-AES-128-CBC-SHA",
1050 MBEDTLS_CIPHER_AES_128_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001051 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001052 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Paul Bakkerd4a56ec2013-04-16 18:05:29 +02001053
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001054 { MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA, "TLS-PSK-WITH-AES-256-CBC-SHA",
1055 MBEDTLS_CIPHER_AES_256_CBC, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001056 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001057 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1058# endif /* MBEDTLS_SHA1_C */
1059# endif /* MBEDTLS_CIPHER_MODE_CBC */
1060# if defined(MBEDTLS_CCM_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001061 { MBEDTLS_TLS_PSK_WITH_AES_256_CCM, "TLS-PSK-WITH-AES-256-CCM",
1062 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1063 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001064 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001065 { MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8, "TLS-PSK-WITH-AES-256-CCM-8",
1066 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1067 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1068 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1069 MBEDTLS_CIPHERSUITE_SHORT_TAG },
1070 { MBEDTLS_TLS_PSK_WITH_AES_128_CCM, "TLS-PSK-WITH-AES-128-CCM",
1071 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1072 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001073 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001074 { MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8, "TLS-PSK-WITH-AES-128-CCM-8",
1075 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
1076 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1077 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1078 MBEDTLS_CIPHERSUITE_SHORT_TAG },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001079# endif /* MBEDTLS_CCM_C */
1080# endif /* MBEDTLS_AES_C */
Paul Bakkerd4a56ec2013-04-16 18:05:29 +02001081
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001082# if defined(MBEDTLS_CAMELLIA_C)
1083# if defined(MBEDTLS_CIPHER_MODE_CBC)
1084# if defined(MBEDTLS_SHA256_C)
1085 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256,
1086 "TLS-PSK-WITH-CAMELLIA-128-CBC-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_CBC,
1087 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1088 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1089 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1090# endif /* MBEDTLS_SHA256_C */
Paul Bakker0f2f0bf2013-07-26 15:03:31 +02001091
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001092# if defined(MBEDTLS_SHA384_C)
1093 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384,
1094 "TLS-PSK-WITH-CAMELLIA-256-CBC-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_CBC,
1095 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1096 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1097 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1098# endif /* MBEDTLS_SHA384_C */
1099# endif /* MBEDTLS_CIPHER_MODE_CBC */
Manuel Pégourié-Gonnard8d01eea2013-10-24 19:49:07 +02001100
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001101# if defined(MBEDTLS_GCM_C)
1102# if defined(MBEDTLS_SHA256_C)
1103 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256,
1104 "TLS-PSK-WITH-CAMELLIA-128-GCM-SHA256", MBEDTLS_CIPHER_CAMELLIA_128_GCM,
1105 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1106 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1107 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1108# endif /* MBEDTLS_SHA256_C */
Manuel Pégourié-Gonnard8d01eea2013-10-24 19:49:07 +02001109
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001110# if defined(MBEDTLS_SHA384_C)
1111 { MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384,
1112 "TLS-PSK-WITH-CAMELLIA-256-GCM-SHA384", MBEDTLS_CIPHER_CAMELLIA_256_GCM,
1113 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1114 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1115 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1116# endif /* MBEDTLS_SHA384_C */
1117# endif /* MBEDTLS_GCM_C */
1118# endif /* MBEDTLS_CAMELLIA_C */
Paul Bakker0f2f0bf2013-07-26 15:03:31 +02001119
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001120# endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
Paul Bakkerd4a56ec2013-04-16 18:05:29 +02001121
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001122# if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
1123# if defined(MBEDTLS_AES_C)
1124# if defined(MBEDTLS_GCM_C)
1125# if defined(MBEDTLS_SHA256_C)
1126 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256,
1127 "TLS-DHE-PSK-WITH-AES-128-GCM-SHA256", MBEDTLS_CIPHER_AES_128_GCM,
1128 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001129 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001130 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1131# endif /* MBEDTLS_SHA256_C */
Paul Bakker40afb4b2013-04-19 22:03:30 +02001132
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001133# if defined(MBEDTLS_SHA384_C)
1134 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384,
1135 "TLS-DHE-PSK-WITH-AES-256-GCM-SHA384", MBEDTLS_CIPHER_AES_256_GCM,
1136 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001137 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001138 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1139# endif /* MBEDTLS_SHA384_C */
1140# endif /* MBEDTLS_GCM_C */
Paul Bakker40afb4b2013-04-19 22:03:30 +02001141
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001142# if defined(MBEDTLS_CIPHER_MODE_CBC)
1143# if defined(MBEDTLS_SHA256_C)
1144 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256,
1145 "TLS-DHE-PSK-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC,
1146 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001147 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001148 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1149# endif /* MBEDTLS_SHA256_C */
Paul Bakker40afb4b2013-04-19 22:03:30 +02001150
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001151# if defined(MBEDTLS_SHA384_C)
1152 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384,
1153 "TLS-DHE-PSK-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC,
1154 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001155 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001156 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1157# endif /* MBEDTLS_SHA384_C */
Paul Bakker40afb4b2013-04-19 22:03:30 +02001158
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001159# if defined(MBEDTLS_SHA1_C)
1160 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA,
1161 "TLS-DHE-PSK-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC,
1162 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001163 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001164 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Paul Bakkerd4a56ec2013-04-16 18:05:29 +02001165
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001166 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA,
1167 "TLS-DHE-PSK-WITH-AES-256-CBC-SHA", MBEDTLS_CIPHER_AES_256_CBC,
1168 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001169 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001170 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1171# endif /* MBEDTLS_SHA1_C */
1172# endif /* MBEDTLS_CIPHER_MODE_CBC */
1173# if defined(MBEDTLS_CCM_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001174 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM, "TLS-DHE-PSK-WITH-AES-256-CCM",
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001175 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256,
1176 MBEDTLS_KEY_EXCHANGE_DHE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1177 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1178 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001179 { MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8, "TLS-DHE-PSK-WITH-AES-256-CCM-8",
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001180 MBEDTLS_CIPHER_AES_256_CCM, MBEDTLS_MD_SHA256,
1181 MBEDTLS_KEY_EXCHANGE_DHE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1182 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1183 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_CIPHERSUITE_SHORT_TAG },
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001184 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM, "TLS-DHE-PSK-WITH-AES-128-CCM",
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001185 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256,
1186 MBEDTLS_KEY_EXCHANGE_DHE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1187 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1188 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001189 { MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8, "TLS-DHE-PSK-WITH-AES-128-CCM-8",
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001190 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256,
1191 MBEDTLS_KEY_EXCHANGE_DHE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1192 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1193 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_CIPHERSUITE_SHORT_TAG },
1194# endif /* MBEDTLS_CCM_C */
1195# endif /* MBEDTLS_AES_C */
Paul Bakkerd4a56ec2013-04-16 18:05:29 +02001196
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001197# if defined(MBEDTLS_CAMELLIA_C)
1198# if defined(MBEDTLS_CIPHER_MODE_CBC)
1199# if defined(MBEDTLS_SHA256_C)
1200 { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
1201 "TLS-DHE-PSK-WITH-CAMELLIA-128-CBC-SHA256",
1202 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256,
1203 MBEDTLS_KEY_EXCHANGE_DHE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1204 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1205 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1206# endif /* MBEDTLS_SHA256_C */
Paul Bakker0f2f0bf2013-07-26 15:03:31 +02001207
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001208# if defined(MBEDTLS_SHA384_C)
1209 { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
1210 "TLS-DHE-PSK-WITH-CAMELLIA-256-CBC-SHA384",
1211 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384,
1212 MBEDTLS_KEY_EXCHANGE_DHE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1213 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1214 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1215# endif /* MBEDTLS_SHA384_C */
1216# endif /* MBEDTLS_CIPHER_MODE_CBC */
Manuel Pégourié-Gonnard8d01eea2013-10-24 19:49:07 +02001217
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001218# if defined(MBEDTLS_GCM_C)
1219# if defined(MBEDTLS_SHA256_C)
1220 { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256,
1221 "TLS-DHE-PSK-WITH-CAMELLIA-128-GCM-SHA256",
1222 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256,
1223 MBEDTLS_KEY_EXCHANGE_DHE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1224 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1225 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1226# endif /* MBEDTLS_SHA256_C */
Manuel Pégourié-Gonnard8d01eea2013-10-24 19:49:07 +02001227
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001228# if defined(MBEDTLS_SHA384_C)
1229 { MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384,
1230 "TLS-DHE-PSK-WITH-CAMELLIA-256-GCM-SHA384",
1231 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384,
1232 MBEDTLS_KEY_EXCHANGE_DHE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1233 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1234 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1235# endif /* MBEDTLS_SHA384_C */
1236# endif /* MBEDTLS_GCM_C */
1237# endif /* MBEDTLS_CAMELLIA_C */
Paul Bakker0f2f0bf2013-07-26 15:03:31 +02001238
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001239# endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
Paul Bakkerd4a56ec2013-04-16 18:05:29 +02001240
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001241# if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
1242# if defined(MBEDTLS_AES_C)
Manuel Pégourié-Gonnard225d6aa2013-10-11 19:07:56 +02001243
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001244# if defined(MBEDTLS_CIPHER_MODE_CBC)
1245# if defined(MBEDTLS_SHA256_C)
1246 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256,
1247 "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC,
1248 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001249 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001250 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1251# endif /* MBEDTLS_SHA256_C */
Manuel Pégourié-Gonnard225d6aa2013-10-11 19:07:56 +02001252
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001253# if defined(MBEDTLS_SHA384_C)
1254 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384,
1255 "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC,
1256 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001257 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001258 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1259# endif /* MBEDTLS_SHA384_C */
Manuel Pégourié-Gonnard225d6aa2013-10-11 19:07:56 +02001260
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001261# if defined(MBEDTLS_SHA1_C)
1262 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA,
1263 "TLS-ECDHE-PSK-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC,
1264 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001265 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001266 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Manuel Pégourié-Gonnard225d6aa2013-10-11 19:07:56 +02001267
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001268 { MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA,
1269 "TLS-ECDHE-PSK-WITH-AES-256-CBC-SHA", MBEDTLS_CIPHER_AES_256_CBC,
1270 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001271 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001272 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1273# endif /* MBEDTLS_SHA1_C */
1274# endif /* MBEDTLS_CIPHER_MODE_CBC */
1275# endif /* MBEDTLS_AES_C */
Manuel Pégourié-Gonnard225d6aa2013-10-11 19:07:56 +02001276
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001277# if defined(MBEDTLS_CAMELLIA_C)
1278# if defined(MBEDTLS_CIPHER_MODE_CBC)
1279# if defined(MBEDTLS_SHA256_C)
1280 { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256,
1281 "TLS-ECDHE-PSK-WITH-CAMELLIA-128-CBC-SHA256",
1282 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256,
1283 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1284 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1285 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1286# endif /* MBEDTLS_SHA256_C */
Manuel Pégourié-Gonnard225d6aa2013-10-11 19:07:56 +02001287
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001288# if defined(MBEDTLS_SHA384_C)
1289 { MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384,
1290 "TLS-ECDHE-PSK-WITH-CAMELLIA-256-CBC-SHA384",
1291 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384,
1292 MBEDTLS_KEY_EXCHANGE_ECDHE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1293 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1294 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1295# endif /* MBEDTLS_SHA384_C */
1296# endif /* MBEDTLS_CIPHER_MODE_CBC */
1297# endif /* MBEDTLS_CAMELLIA_C */
Manuel Pégourié-Gonnard225d6aa2013-10-11 19:07:56 +02001298
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001299# endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
Manuel Pégourié-Gonnard225d6aa2013-10-11 19:07:56 +02001300
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001301# if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
1302# if defined(MBEDTLS_AES_C)
1303# if defined(MBEDTLS_GCM_C)
1304# if defined(MBEDTLS_SHA256_C)
1305 { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256,
1306 "TLS-RSA-PSK-WITH-AES-128-GCM-SHA256", MBEDTLS_CIPHER_AES_128_GCM,
1307 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001308 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001309 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1310# endif /* MBEDTLS_SHA256_C */
Paul Bakker40afb4b2013-04-19 22:03:30 +02001311
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001312# if defined(MBEDTLS_SHA384_C)
1313 { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384,
1314 "TLS-RSA-PSK-WITH-AES-256-GCM-SHA384", MBEDTLS_CIPHER_AES_256_GCM,
1315 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001316 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001317 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1318# endif /* MBEDTLS_SHA384_C */
1319# endif /* MBEDTLS_GCM_C */
Paul Bakker40afb4b2013-04-19 22:03:30 +02001320
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001321# if defined(MBEDTLS_CIPHER_MODE_CBC)
1322# if defined(MBEDTLS_SHA256_C)
1323 { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256,
1324 "TLS-RSA-PSK-WITH-AES-128-CBC-SHA256", MBEDTLS_CIPHER_AES_128_CBC,
1325 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001326 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001327 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1328# endif /* MBEDTLS_SHA256_C */
Paul Bakker40afb4b2013-04-19 22:03:30 +02001329
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001330# if defined(MBEDTLS_SHA384_C)
1331 { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384,
1332 "TLS-RSA-PSK-WITH-AES-256-CBC-SHA384", MBEDTLS_CIPHER_AES_256_CBC,
1333 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001334 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001335 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1336# endif /* MBEDTLS_SHA384_C */
Paul Bakker40afb4b2013-04-19 22:03:30 +02001337
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001338# if defined(MBEDTLS_SHA1_C)
1339 { MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA,
1340 "TLS-RSA-PSK-WITH-AES-128-CBC-SHA", MBEDTLS_CIPHER_AES_128_CBC,
1341 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001342 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001343 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
Paul Bakkerd4a56ec2013-04-16 18:05:29 +02001344
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001345 { MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA,
1346 "TLS-RSA-PSK-WITH-AES-256-CBC-SHA", MBEDTLS_CIPHER_AES_256_CBC,
1347 MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001348 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001349 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1350# endif /* MBEDTLS_SHA1_C */
1351# endif /* MBEDTLS_CIPHER_MODE_CBC */
1352# endif /* MBEDTLS_AES_C */
Paul Bakkerd4a56ec2013-04-16 18:05:29 +02001353
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001354# if defined(MBEDTLS_CAMELLIA_C)
1355# if defined(MBEDTLS_CIPHER_MODE_CBC)
1356# if defined(MBEDTLS_SHA256_C)
1357 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256,
1358 "TLS-RSA-PSK-WITH-CAMELLIA-128-CBC-SHA256",
1359 MBEDTLS_CIPHER_CAMELLIA_128_CBC, MBEDTLS_MD_SHA256,
1360 MBEDTLS_KEY_EXCHANGE_RSA_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1361 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1362 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1363# endif /* MBEDTLS_SHA256_C */
Paul Bakker0f2f0bf2013-07-26 15:03:31 +02001364
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001365# if defined(MBEDTLS_SHA384_C)
1366 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384,
1367 "TLS-RSA-PSK-WITH-CAMELLIA-256-CBC-SHA384",
1368 MBEDTLS_CIPHER_CAMELLIA_256_CBC, MBEDTLS_MD_SHA384,
1369 MBEDTLS_KEY_EXCHANGE_RSA_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1370 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1371 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1372# endif /* MBEDTLS_SHA384_C */
1373# endif /* MBEDTLS_CIPHER_MODE_CBC */
Manuel Pégourié-Gonnard8d01eea2013-10-24 19:49:07 +02001374
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001375# if defined(MBEDTLS_GCM_C)
1376# if defined(MBEDTLS_SHA256_C)
1377 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256,
1378 "TLS-RSA-PSK-WITH-CAMELLIA-128-GCM-SHA256",
1379 MBEDTLS_CIPHER_CAMELLIA_128_GCM, MBEDTLS_MD_SHA256,
1380 MBEDTLS_KEY_EXCHANGE_RSA_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1381 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1382 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1383# endif /* MBEDTLS_SHA256_C */
Manuel Pégourié-Gonnard8d01eea2013-10-24 19:49:07 +02001384
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001385# if defined(MBEDTLS_SHA384_C)
1386 { MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384,
1387 "TLS-RSA-PSK-WITH-CAMELLIA-256-GCM-SHA384",
1388 MBEDTLS_CIPHER_CAMELLIA_256_GCM, MBEDTLS_MD_SHA384,
1389 MBEDTLS_KEY_EXCHANGE_RSA_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1390 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1391 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1392# endif /* MBEDTLS_SHA384_C */
1393# endif /* MBEDTLS_GCM_C */
1394# endif /* MBEDTLS_CAMELLIA_C */
Paul Bakker0f2f0bf2013-07-26 15:03:31 +02001395
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001396# endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
Paul Bakkerd4a56ec2013-04-16 18:05:29 +02001397
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001398# if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
1399# if defined(MBEDTLS_AES_C)
1400# if defined(MBEDTLS_CCM_C)
Manuel Pégourié-Gonnard538cb7b2015-09-15 18:03:28 +02001401 { MBEDTLS_TLS_ECJPAKE_WITH_AES_128_CCM_8, "TLS-ECJPAKE-WITH-AES-128-CCM-8",
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001402 MBEDTLS_CIPHER_AES_128_CCM, MBEDTLS_MD_SHA256,
1403 MBEDTLS_KEY_EXCHANGE_ECJPAKE, MBEDTLS_SSL_MAJOR_VERSION_3,
1404 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1405 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_CIPHERSUITE_SHORT_TAG },
1406# endif /* MBEDTLS_CCM_C */
1407# endif /* MBEDTLS_AES_C */
1408# endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */
Manuel Pégourié-Gonnard538cb7b2015-09-15 18:03:28 +02001409
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001410# if defined(MBEDTLS_CIPHER_NULL_CIPHER)
1411# if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
1412# if defined(MBEDTLS_MD5_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001413 { MBEDTLS_TLS_RSA_WITH_NULL_MD5, "TLS-RSA-WITH-NULL-MD5",
1414 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_MD5, MBEDTLS_KEY_EXCHANGE_RSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001415 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001416 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1417 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001418# endif
Paul Bakker68884e32013-01-07 18:20:04 +01001419
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001420# if defined(MBEDTLS_SHA1_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001421 { MBEDTLS_TLS_RSA_WITH_NULL_SHA, "TLS-RSA-WITH-NULL-SHA",
1422 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001423 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001424 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1425 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001426# endif
Paul Bakker68884e32013-01-07 18:20:04 +01001427
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001428# if defined(MBEDTLS_SHA256_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001429 { MBEDTLS_TLS_RSA_WITH_NULL_SHA256, "TLS-RSA-WITH-NULL-SHA256",
1430 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001431 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001432 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1433 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001434# endif
1435# endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
Paul Bakker68884e32013-01-07 18:20:04 +01001436
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001437# if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
1438# if defined(MBEDTLS_SHA1_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001439 { MBEDTLS_TLS_PSK_WITH_NULL_SHA, "TLS-PSK-WITH-NULL-SHA",
1440 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001441 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001442 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1443 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001444# endif /* MBEDTLS_SHA1_C */
Manuel Pégourié-Gonnard98d9a2c2013-10-25 18:03:18 +02001445
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001446# if defined(MBEDTLS_SHA256_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001447 { MBEDTLS_TLS_PSK_WITH_NULL_SHA256, "TLS-PSK-WITH-NULL-SHA256",
1448 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001449 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001450 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1451 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001452# endif
Manuel Pégourié-Gonnard98d9a2c2013-10-25 18:03:18 +02001453
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001454# if defined(MBEDTLS_SHA384_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001455 { MBEDTLS_TLS_PSK_WITH_NULL_SHA384, "TLS-PSK-WITH-NULL-SHA384",
1456 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001457 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001458 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1459 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001460# endif /* MBEDTLS_SHA384_C */
1461# endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
Paul Bakkera1bf92d2013-04-19 19:48:45 +02001462
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001463# if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
1464# if defined(MBEDTLS_SHA1_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001465 { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA, "TLS-DHE-PSK-WITH-NULL-SHA",
1466 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001467 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001468 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1469 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001470# endif /* MBEDTLS_SHA1_C */
Manuel Pégourié-Gonnard98d9a2c2013-10-25 18:03:18 +02001471
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001472# if defined(MBEDTLS_SHA256_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001473 { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256, "TLS-DHE-PSK-WITH-NULL-SHA256",
1474 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001475 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001476 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1477 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001478# endif
Manuel Pégourié-Gonnard98d9a2c2013-10-25 18:03:18 +02001479
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001480# if defined(MBEDTLS_SHA384_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001481 { MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384, "TLS-DHE-PSK-WITH-NULL-SHA384",
1482 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001483 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001484 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1485 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001486# endif /* MBEDTLS_SHA384_C */
1487# endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
Paul Bakkera1bf92d2013-04-19 19:48:45 +02001488
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001489# if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
1490# if defined(MBEDTLS_SHA1_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001491 { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA, "TLS-ECDHE-PSK-WITH-NULL-SHA",
1492 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001493 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001494 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1495 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001496# endif /* MBEDTLS_SHA1_C */
Manuel Pégourié-Gonnard225d6aa2013-10-11 19:07:56 +02001497
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001498# if defined(MBEDTLS_SHA256_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001499 { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256, "TLS-ECDHE-PSK-WITH-NULL-SHA256",
1500 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001501 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001502 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1503 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001504# endif
Manuel Pégourié-Gonnard225d6aa2013-10-11 19:07:56 +02001505
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001506# if defined(MBEDTLS_SHA384_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001507 { MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384, "TLS-ECDHE-PSK-WITH-NULL-SHA384",
1508 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001509 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001510 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1511 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001512# endif /* MBEDTLS_SHA384_C */
1513# endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
Manuel Pégourié-Gonnard225d6aa2013-10-11 19:07:56 +02001514
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001515# if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
1516# if defined(MBEDTLS_SHA1_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001517 { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA, "TLS-RSA-PSK-WITH-NULL-SHA",
1518 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA1, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001519 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001520 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1521 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001522# endif /* MBEDTLS_SHA1_C */
Manuel Pégourié-Gonnardef0eb1e2013-10-14 19:29:19 +02001523
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001524# if defined(MBEDTLS_SHA256_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001525 { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256, "TLS-RSA-PSK-WITH-NULL-SHA256",
1526 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001527 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001528 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1529 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001530# endif
Manuel Pégourié-Gonnardef0eb1e2013-10-14 19:29:19 +02001531
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001532# if defined(MBEDTLS_SHA384_C)
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001533 { MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384, "TLS-RSA-PSK-WITH-NULL-SHA384",
1534 MBEDTLS_CIPHER_NULL, MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
TRodziewicz2abf03c2021-06-25 14:40:09 +02001535 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001536 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
1537 MBEDTLS_CIPHERSUITE_WEAK },
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001538# endif /* MBEDTLS_SHA384_C */
1539# endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
1540# endif /* MBEDTLS_CIPHER_NULL_CIPHER */
Paul Bakkera1bf92d2013-04-19 19:48:45 +02001541
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001542# if defined(MBEDTLS_ARIA_C)
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001543
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001544# if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001545
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001546# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001547 { MBEDTLS_TLS_RSA_WITH_ARIA_256_GCM_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001548 "TLS-RSA-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM,
1549 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
1550 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1551 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1552# endif
1553# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001554 { MBEDTLS_TLS_RSA_WITH_ARIA_256_CBC_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001555 "TLS-RSA-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC,
1556 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
1557 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1558 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1559# endif
1560# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001561 { MBEDTLS_TLS_RSA_WITH_ARIA_128_GCM_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001562 "TLS-RSA-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM,
1563 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
1564 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1565 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1566# endif
1567# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001568 { MBEDTLS_TLS_RSA_WITH_ARIA_128_CBC_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001569 "TLS-RSA-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC,
1570 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA, MBEDTLS_SSL_MAJOR_VERSION_3,
1571 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1572 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1573# endif
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001574
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001575# endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001576
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001577# if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001578
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001579# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001580 { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001581 "TLS-RSA-PSK-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM,
1582 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001583 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001584 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1585# endif
1586# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001587 { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001588 "TLS-RSA-PSK-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC,
1589 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001590 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001591 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1592# endif
1593# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001594 { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001595 "TLS-RSA-PSK-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM,
1596 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001597 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001598 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1599# endif
1600# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001601 { MBEDTLS_TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001602 "TLS-RSA-PSK-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC,
1603 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_RSA_PSK,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001604 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001605 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1606# endif
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001607
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001608# endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001609
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001610# if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001611
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001612# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001613 { MBEDTLS_TLS_PSK_WITH_ARIA_256_GCM_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001614 "TLS-PSK-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM,
1615 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1616 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1617 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1618# endif
1619# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001620 { MBEDTLS_TLS_PSK_WITH_ARIA_256_CBC_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001621 "TLS-PSK-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC,
1622 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1623 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1624 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1625# endif
1626# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001627 { MBEDTLS_TLS_PSK_WITH_ARIA_128_GCM_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001628 "TLS-PSK-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM,
1629 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1630 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1631 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1632# endif
1633# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001634 { MBEDTLS_TLS_PSK_WITH_ARIA_128_CBC_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001635 "TLS-PSK-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC,
1636 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_PSK, MBEDTLS_SSL_MAJOR_VERSION_3,
1637 MBEDTLS_SSL_MINOR_VERSION_3, MBEDTLS_SSL_MAJOR_VERSION_3,
1638 MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1639# endif
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001640
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001641# endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001642
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001643# if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001644
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001645# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001646 { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001647 "TLS-ECDH-RSA-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM,
1648 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001649 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001650 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1651# endif
1652# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001653 { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001654 "TLS-ECDH-RSA-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC,
1655 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001656 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001657 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1658# endif
1659# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001660 { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001661 "TLS-ECDH-RSA-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM,
1662 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001663 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001664 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1665# endif
1666# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001667 { MBEDTLS_TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001668 "TLS-ECDH-RSA-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC,
1669 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_RSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001670 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001671 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1672# endif
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001673
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001674# endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001675
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001676# if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001677
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001678# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001679 { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001680 "TLS-ECDHE-RSA-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM,
1681 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001682 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001683 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1684# endif
1685# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001686 { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001687 "TLS-ECDHE-RSA-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC,
1688 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001689 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001690 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1691# endif
1692# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001693 { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001694 "TLS-ECDHE-RSA-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM,
1695 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001696 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001697 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1698# endif
1699# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001700 { MBEDTLS_TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001701 "TLS-ECDHE-RSA-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC,
1702 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_RSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001703 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001704 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1705# endif
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001706
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001707# endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001708
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001709# if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001710
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001711# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001712 { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001713 "TLS-ECDHE-PSK-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC,
1714 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001715 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001716 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1717# endif
1718# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001719 { MBEDTLS_TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001720 "TLS-ECDHE-PSK-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC,
1721 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_PSK,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001722 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001723 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1724# endif
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001725
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001726# endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001727
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001728# if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001729
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001730# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001731 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001732 "TLS-ECDHE-ECDSA-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM,
1733 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001734 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001735 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1736# endif
1737# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001738 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001739 "TLS-ECDHE-ECDSA-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC,
1740 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001741 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001742 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1743# endif
1744# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001745 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001746 "TLS-ECDHE-ECDSA-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM,
1747 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001748 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001749 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1750# endif
1751# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001752 { MBEDTLS_TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001753 "TLS-ECDHE-ECDSA-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC,
1754 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001755 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001756 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1757# endif
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001758
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001759# endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001760
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001761# if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001762
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001763# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001764 { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001765 "TLS-ECDH-ECDSA-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM,
1766 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001767 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001768 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1769# endif
1770# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001771 { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001772 "TLS-ECDH-ECDSA-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC,
1773 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001774 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001775 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1776# endif
1777# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001778 { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001779 "TLS-ECDH-ECDSA-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM,
1780 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001781 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001782 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1783# endif
1784# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001785 { MBEDTLS_TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001786 "TLS-ECDH-ECDSA-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC,
1787 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001788 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001789 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1790# endif
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001791
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001792# endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001793
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001794# if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001795
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001796# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001797 { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001798 "TLS-DHE-RSA-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM,
1799 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001800 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001801 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1802# endif
1803# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001804 { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001805 "TLS-DHE-RSA-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC,
1806 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001807 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001808 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1809# endif
1810# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001811 { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001812 "TLS-DHE-RSA-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM,
1813 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001814 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001815 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1816# endif
1817# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001818 { MBEDTLS_TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001819 "TLS-DHE-RSA-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC,
1820 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_RSA,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001821 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001822 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1823# endif
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001824
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001825# endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001826
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001827# if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001828
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001829# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001830 { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001831 "TLS-DHE-PSK-WITH-ARIA-256-GCM-SHA384", MBEDTLS_CIPHER_ARIA_256_GCM,
1832 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001833 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001834 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1835# endif
1836# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA384_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001837 { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001838 "TLS-DHE-PSK-WITH-ARIA-256-CBC-SHA384", MBEDTLS_CIPHER_ARIA_256_CBC,
1839 MBEDTLS_MD_SHA384, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001840 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001841 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1842# endif
1843# if (defined(MBEDTLS_GCM_C) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001844 { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001845 "TLS-DHE-PSK-WITH-ARIA-128-GCM-SHA256", MBEDTLS_CIPHER_ARIA_128_GCM,
1846 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001847 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001848 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1849# endif
1850# if (defined(MBEDTLS_CIPHER_MODE_CBC) && defined(MBEDTLS_SHA256_C))
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001851 { MBEDTLS_TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001852 "TLS-DHE-PSK-WITH-ARIA-128-CBC-SHA256", MBEDTLS_CIPHER_ARIA_128_CBC,
1853 MBEDTLS_MD_SHA256, MBEDTLS_KEY_EXCHANGE_DHE_PSK,
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001854 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3,
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001855 MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_3, 0 },
1856# endif
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001857
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001858# endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001859
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001860# endif /* MBEDTLS_ARIA_C */
Markku-Juhani O. Saarinenc06e1012017-12-07 11:51:13 +00001861
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001862 { 0, "", MBEDTLS_CIPHER_NONE, MBEDTLS_MD_NONE, MBEDTLS_KEY_EXCHANGE_NONE, 0,
1863 0, 0, 0, 0 }
Paul Bakker68884e32013-01-07 18:20:04 +01001864};
1865
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001866# if defined(MBEDTLS_SSL_CIPHERSUITES)
1867const int *mbedtls_ssl_list_ciphersuites(void)
Manuel Pégourié-Gonnarddfc7df02014-06-30 17:59:55 +02001868{
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001869 return ciphersuite_preference;
Manuel Pégourié-Gonnarddfc7df02014-06-30 17:59:55 +02001870}
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001871# else
1872# define MAX_CIPHERSUITES \
1873 sizeof(ciphersuite_definitions) / sizeof(ciphersuite_definitions[0])
Manuel Pégourié-Gonnard791684c2014-06-30 17:38:22 +02001874static int supported_ciphersuites[MAX_CIPHERSUITES];
1875static int supported_init = 0;
1876
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001877static int ciphersuite_is_removed(const mbedtls_ssl_ciphersuite_t *cs_info)
Andres Amaya Garcia4a512282018-10-30 18:21:41 +00001878{
1879 (void)cs_info;
1880
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001881 return 0;
Andres Amaya Garcia4a512282018-10-30 18:21:41 +00001882}
1883
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001884const int *mbedtls_ssl_list_ciphersuites(void)
Paul Bakker68884e32013-01-07 18:20:04 +01001885{
Paul Bakker41c83d32013-03-20 14:39:14 +01001886 /*
1887 * On initial call filter out all ciphersuites not supported by current
1888 * build based on presence in the ciphersuite_definitions.
1889 */
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001890 if (supported_init == 0) {
Manuel Pégourié-Gonnard791684c2014-06-30 17:38:22 +02001891 const int *p;
1892 int *q;
Paul Bakker41c83d32013-03-20 14:39:14 +01001893
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001894 for (p = ciphersuite_preference, q = supported_ciphersuites;
Manuel Pégourié-Gonnard791684c2014-06-30 17:38:22 +02001895 *p != 0 && q < supported_ciphersuites + MAX_CIPHERSUITES - 1;
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001896 p++) {
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001897 const mbedtls_ssl_ciphersuite_t *cs_info;
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001898 if ((cs_info = mbedtls_ssl_ciphersuite_from_id(*p)) != NULL &&
1899 !ciphersuite_is_removed(cs_info)) {
Manuel Pégourié-Gonnard791684c2014-06-30 17:38:22 +02001900 *(q++) = *p;
Andres Amaya Garcia4a512282018-10-30 18:21:41 +00001901 }
Paul Bakker41c83d32013-03-20 14:39:14 +01001902 }
Manuel Pégourié-Gonnardbc4b7f02013-09-07 15:04:26 +02001903 *q = 0;
Manuel Pégourié-Gonnard32ea60a2013-08-17 17:39:04 +02001904
Paul Bakker41c83d32013-03-20 14:39:14 +01001905 supported_init = 1;
1906 }
1907
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001908 return supported_ciphersuites;
Manuel Pégourié-Gonnardf78e4de2015-05-29 10:52:14 +02001909}
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001910# endif /* MBEDTLS_SSL_CIPHERSUITES */
Paul Bakker68884e32013-01-07 18:20:04 +01001911
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001912const mbedtls_ssl_ciphersuite_t *
1913mbedtls_ssl_ciphersuite_from_string(const char *ciphersuite_name)
Paul Bakker68884e32013-01-07 18:20:04 +01001914{
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001915 const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions;
Paul Bakker68884e32013-01-07 18:20:04 +01001916
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001917 if (NULL == ciphersuite_name)
1918 return NULL;
Paul Bakker68884e32013-01-07 18:20:04 +01001919
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001920 while (cur->id != 0) {
1921 if (0 == strcmp(cur->name, ciphersuite_name))
1922 return cur;
Paul Bakker68884e32013-01-07 18:20:04 +01001923
1924 cur++;
1925 }
1926
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001927 return NULL;
Paul Bakker68884e32013-01-07 18:20:04 +01001928}
1929
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001930const mbedtls_ssl_ciphersuite_t *
1931mbedtls_ssl_ciphersuite_from_id(int ciphersuite)
Paul Bakker68884e32013-01-07 18:20:04 +01001932{
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001933 const mbedtls_ssl_ciphersuite_t *cur = ciphersuite_definitions;
Paul Bakker68884e32013-01-07 18:20:04 +01001934
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001935 while (cur->id != 0) {
1936 if (cur->id == ciphersuite)
1937 return cur;
Paul Bakker68884e32013-01-07 18:20:04 +01001938
1939 cur++;
1940 }
1941
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001942 return NULL;
Paul Bakker68884e32013-01-07 18:20:04 +01001943}
1944
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001945const char *mbedtls_ssl_get_ciphersuite_name(const int ciphersuite_id)
Paul Bakker68884e32013-01-07 18:20:04 +01001946{
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001947 const mbedtls_ssl_ciphersuite_t *cur;
Paul Bakker68884e32013-01-07 18:20:04 +01001948
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001949 cur = mbedtls_ssl_ciphersuite_from_id(ciphersuite_id);
Paul Bakker68884e32013-01-07 18:20:04 +01001950
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001951 if (cur == NULL)
1952 return "unknown";
Paul Bakker68884e32013-01-07 18:20:04 +01001953
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001954 return cur->name;
Paul Bakker68884e32013-01-07 18:20:04 +01001955}
1956
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001957int mbedtls_ssl_get_ciphersuite_id(const char *ciphersuite_name)
Paul Bakker68884e32013-01-07 18:20:04 +01001958{
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001959 const mbedtls_ssl_ciphersuite_t *cur;
Paul Bakker68884e32013-01-07 18:20:04 +01001960
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001961 cur = mbedtls_ssl_ciphersuite_from_string(ciphersuite_name);
Paul Bakker68884e32013-01-07 18:20:04 +01001962
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001963 if (cur == NULL)
1964 return 0;
Paul Bakker68884e32013-01-07 18:20:04 +01001965
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001966 return cur->id;
Paul Bakker68884e32013-01-07 18:20:04 +01001967}
1968
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001969# if defined(MBEDTLS_PK_C)
1970mbedtls_pk_type_t
1971mbedtls_ssl_get_ciphersuite_sig_pk_alg(const mbedtls_ssl_ciphersuite_t *info)
Manuel Pégourié-Gonnard09edda82013-08-19 13:50:33 +02001972{
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001973 switch (info->key_exchange) {
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001974 case MBEDTLS_KEY_EXCHANGE_RSA:
1975 case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
1976 case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
1977 case MBEDTLS_KEY_EXCHANGE_RSA_PSK:
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001978 return MBEDTLS_PK_RSA;
Manuel Pégourié-Gonnard09edda82013-08-19 13:50:33 +02001979
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001980 case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001981 return MBEDTLS_PK_ECDSA;
Manuel Pégourié-Gonnard09edda82013-08-19 13:50:33 +02001982
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02001983 case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
1984 case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001985 return MBEDTLS_PK_ECKEY;
Manuel Pégourié-Gonnard25781b22013-12-11 16:17:10 +01001986
Manuel Pégourié-Gonnard09edda82013-08-19 13:50:33 +02001987 default:
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001988 return MBEDTLS_PK_NONE;
Manuel Pégourié-Gonnard09edda82013-08-19 13:50:33 +02001989 }
1990}
Hanno Becker7e5437a2017-04-28 17:15:26 +01001991
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001992mbedtls_pk_type_t
1993mbedtls_ssl_get_ciphersuite_sig_alg(const mbedtls_ssl_ciphersuite_t *info)
Hanno Becker7e5437a2017-04-28 17:15:26 +01001994{
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001995 switch (info->key_exchange) {
Hanno Becker7e5437a2017-04-28 17:15:26 +01001996 case MBEDTLS_KEY_EXCHANGE_RSA:
1997 case MBEDTLS_KEY_EXCHANGE_DHE_RSA:
1998 case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02001999 return MBEDTLS_PK_RSA;
Hanno Becker7e5437a2017-04-28 17:15:26 +01002000
2001 case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02002002 return MBEDTLS_PK_ECDSA;
Hanno Becker7e5437a2017-04-28 17:15:26 +01002003
2004 default:
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02002005 return MBEDTLS_PK_NONE;
Hanno Becker7e5437a2017-04-28 17:15:26 +01002006 }
2007}
Hanno Beckerd300a572017-06-20 14:31:29 +01002008
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02002009# endif /* MBEDTLS_PK_C */
Manuel Pégourié-Gonnard09edda82013-08-19 13:50:33 +02002010
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02002011# if defined(MBEDTLS_ECDH_C) || defined(MBEDTLS_ECDSA_C) || \
2012 defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
2013int mbedtls_ssl_ciphersuite_uses_ec(const mbedtls_ssl_ciphersuite_t *info)
Hanno Beckerd300a572017-06-20 14:31:29 +01002014{
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02002015 switch (info->key_exchange) {
Hanno Beckerd300a572017-06-20 14:31:29 +01002016 case MBEDTLS_KEY_EXCHANGE_ECDHE_RSA:
2017 case MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA:
2018 case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK:
2019 case MBEDTLS_KEY_EXCHANGE_ECDH_RSA:
2020 case MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA:
Ron Eldor755bb6a2018-02-14 19:30:48 +02002021 case MBEDTLS_KEY_EXCHANGE_ECJPAKE:
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02002022 return 1;
Hanno Beckerd300a572017-06-20 14:31:29 +01002023
2024 default:
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02002025 return 0;
Hanno Beckerd300a572017-06-20 14:31:29 +01002026 }
2027}
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02002028# endif /* MBEDTLS_ECDH_C || MBEDTLS_ECDSA_C || \
2029 MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED*/
Hanno Beckerd300a572017-06-20 14:31:29 +01002030
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02002031# if defined(MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED)
2032int mbedtls_ssl_ciphersuite_uses_psk(const mbedtls_ssl_ciphersuite_t *info)
Hanno Beckerd300a572017-06-20 14:31:29 +01002033{
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02002034 switch (info->key_exchange) {
Hanno Beckerd300a572017-06-20 14:31:29 +01002035 case MBEDTLS_KEY_EXCHANGE_PSK:
2036 case MBEDTLS_KEY_EXCHANGE_RSA_PSK:
2037 case MBEDTLS_KEY_EXCHANGE_DHE_PSK:
2038 case MBEDTLS_KEY_EXCHANGE_ECDHE_PSK:
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02002039 return 1;
Hanno Beckerd300a572017-06-20 14:31:29 +01002040
2041 default:
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02002042 return 0;
Hanno Beckerd300a572017-06-20 14:31:29 +01002043 }
2044}
Mateusz Starzykc0eabdc2021-08-03 14:09:02 +02002045# endif /* MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED */
Hanno Beckerd300a572017-06-20 14:31:29 +01002046
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02002047#endif /* MBEDTLS_SSL_TLS_C */