Botan
3.12.0
Crypto and TLS for C&
src
lib
tls
tls_suite_info.cpp
Go to the documentation of this file.
1
/*
2
* TLS cipher suite information
3
*
4
* This file was automatically generated by ./src/scripts/dev_tools/gen_tls_suite_info.py on 2026-04-29
5
* using the IANA assignments (tls-parameters.txt sha256 f466647ca9b2d2b357af29d93ecb19e55d0eb99a160a221c125e5cf3a7cfd9bb)
6
* All manual changes will be lost. Edit the script instead.
7
*
8
* Botan is released under the Simplified BSD License (see license.txt)
9
*/
10
11
#include <botan/tls_ciphersuite.h>
12
13
#include <algorithm>
14
#include <array>
15
16
namespace
Botan::TLS
{
17
18
namespace
{
19
20
consteval
auto
available_ciphersuites() {
21
// clang-format off
22
auto
codes = std::array {
23
#if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING) && defined(BOTAN_HAS_DES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
24
uint16_t{0x000A},
// RSA_WITH_3DES_EDE_CBC_SHA
25
#endif
26
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_DES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
27
uint16_t{0x0016},
// DHE_RSA_WITH_3DES_EDE_CBC_SHA
28
#endif
29
#if defined(BOTAN_HAS_TLS_NULL) && defined(BOTAN_HAS_SHA1)
30
uint16_t{0x002C},
// PSK_WITH_NULL_SHA
31
#endif
32
#if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
33
uint16_t{0x002F},
// RSA_WITH_AES_128_CBC_SHA
34
#endif
35
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
36
uint16_t{0x0033},
// DHE_RSA_WITH_AES_128_CBC_SHA
37
#endif
38
#if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
39
uint16_t{0x0035},
// RSA_WITH_AES_256_CBC_SHA
40
#endif
41
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
42
uint16_t{0x0039},
// DHE_RSA_WITH_AES_256_CBC_SHA
43
#endif
44
#if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA2_32)
45
uint16_t{0x003C},
// RSA_WITH_AES_128_CBC_SHA256
46
#endif
47
#if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA2_32)
48
uint16_t{0x003D},
// RSA_WITH_AES_256_CBC_SHA256
49
#endif
50
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA2_32)
51
uint16_t{0x0067},
// DHE_RSA_WITH_AES_128_CBC_SHA256
52
#endif
53
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA2_32)
54
uint16_t{0x006B},
// DHE_RSA_WITH_AES_256_CBC_SHA256
55
#endif
56
#if defined(BOTAN_HAS_DES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
57
uint16_t{0x008B},
// PSK_WITH_3DES_EDE_CBC_SHA
58
#endif
59
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
60
uint16_t{0x008C},
// PSK_WITH_AES_128_CBC_SHA
61
#endif
62
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
63
uint16_t{0x008D},
// PSK_WITH_AES_256_CBC_SHA
64
#endif
65
#if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
66
uint16_t{0x009C},
// RSA_WITH_AES_128_GCM_SHA256
67
#endif
68
#if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
69
uint16_t{0x009D},
// RSA_WITH_AES_256_GCM_SHA384
70
#endif
71
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
72
uint16_t{0x009E},
// DHE_RSA_WITH_AES_128_GCM_SHA256
73
#endif
74
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
75
uint16_t{0x009F},
// DHE_RSA_WITH_AES_256_GCM_SHA384
76
#endif
77
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
78
uint16_t{0x00A8},
// PSK_WITH_AES_128_GCM_SHA256
79
#endif
80
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
81
uint16_t{0x00A9},
// PSK_WITH_AES_256_GCM_SHA384
82
#endif
83
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA2_32)
84
uint16_t{0x00AE},
// PSK_WITH_AES_128_CBC_SHA256
85
#endif
86
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA2_64)
87
uint16_t{0x00AF},
// PSK_WITH_AES_256_CBC_SHA384
88
#endif
89
#if defined(BOTAN_HAS_TLS_NULL) && defined(BOTAN_HAS_SHA2_32)
90
uint16_t{0x00B0},
// PSK_WITH_NULL_SHA256
91
#endif
92
#if defined(BOTAN_HAS_TLS_NULL) && defined(BOTAN_HAS_SHA2_64)
93
uint16_t{0x00B1},
// PSK_WITH_NULL_SHA384
94
#endif
95
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
96
uint16_t{0x1301},
// AES_128_GCM_SHA256
97
#endif
98
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
99
uint16_t{0x1302},
// AES_256_GCM_SHA384
100
#endif
101
#if defined(BOTAN_HAS_AEAD_CHACHA20_POLY1305) && defined(BOTAN_HAS_SHA2_32)
102
uint16_t{0x1303},
// CHACHA20_POLY1305_SHA256
103
#endif
104
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
105
uint16_t{0x1304},
// AES_128_CCM_SHA256
106
#endif
107
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
108
uint16_t{0x1305},
// AES_128_CCM_8_SHA256
109
#endif
110
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_TLS_NULL) && defined(BOTAN_HAS_SHA1)
111
uint16_t{0xC006},
// ECDHE_ECDSA_WITH_NULL_SHA
112
#endif
113
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_DES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
114
uint16_t{0xC008},
// ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
115
#endif
116
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
117
uint16_t{0xC009},
// ECDHE_ECDSA_WITH_AES_128_CBC_SHA
118
#endif
119
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
120
uint16_t{0xC00A},
// ECDHE_ECDSA_WITH_AES_256_CBC_SHA
121
#endif
122
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_TLS_NULL) && defined(BOTAN_HAS_SHA1)
123
uint16_t{0xC010},
// ECDHE_RSA_WITH_NULL_SHA
124
#endif
125
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_DES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
126
uint16_t{0xC012},
// ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
127
#endif
128
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
129
uint16_t{0xC013},
// ECDHE_RSA_WITH_AES_128_CBC_SHA
130
#endif
131
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
132
uint16_t{0xC014},
// ECDHE_RSA_WITH_AES_256_CBC_SHA
133
#endif
134
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA2_32)
135
uint16_t{0xC023},
// ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
136
#endif
137
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA2_64)
138
uint16_t{0xC024},
// ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
139
#endif
140
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA2_32)
141
uint16_t{0xC027},
// ECDHE_RSA_WITH_AES_128_CBC_SHA256
142
#endif
143
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA2_64)
144
uint16_t{0xC028},
// ECDHE_RSA_WITH_AES_256_CBC_SHA384
145
#endif
146
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
147
uint16_t{0xC02B},
// ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
148
#endif
149
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
150
uint16_t{0xC02C},
// ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
151
#endif
152
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
153
uint16_t{0xC02F},
// ECDHE_RSA_WITH_AES_128_GCM_SHA256
154
#endif
155
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
156
uint16_t{0xC030},
// ECDHE_RSA_WITH_AES_256_GCM_SHA384
157
#endif
158
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_DES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
159
uint16_t{0xC034},
// ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
160
#endif
161
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
162
uint16_t{0xC035},
// ECDHE_PSK_WITH_AES_128_CBC_SHA
163
#endif
164
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA1)
165
uint16_t{0xC036},
// ECDHE_PSK_WITH_AES_256_CBC_SHA
166
#endif
167
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA2_32)
168
uint16_t{0xC037},
// ECDHE_PSK_WITH_AES_128_CBC_SHA256
169
#endif
170
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_TLS_CBC) && defined(BOTAN_HAS_SHA2_64)
171
uint16_t{0xC038},
// ECDHE_PSK_WITH_AES_256_CBC_SHA384
172
#endif
173
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_TLS_NULL) && defined(BOTAN_HAS_SHA1)
174
uint16_t{0xC039},
// ECDHE_PSK_WITH_NULL_SHA
175
#endif
176
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_TLS_NULL) && defined(BOTAN_HAS_SHA2_32)
177
uint16_t{0xC03A},
// ECDHE_PSK_WITH_NULL_SHA256
178
#endif
179
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_TLS_NULL) && defined(BOTAN_HAS_SHA2_64)
180
uint16_t{0xC03B},
// ECDHE_PSK_WITH_NULL_SHA384
181
#endif
182
#if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING) && defined(BOTAN_HAS_ARIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
183
uint16_t{0xC050},
// RSA_WITH_ARIA_128_GCM_SHA256
184
#endif
185
#if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING) && defined(BOTAN_HAS_ARIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
186
uint16_t{0xC051},
// RSA_WITH_ARIA_256_GCM_SHA384
187
#endif
188
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_ARIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
189
uint16_t{0xC052},
// DHE_RSA_WITH_ARIA_128_GCM_SHA256
190
#endif
191
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_ARIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
192
uint16_t{0xC053},
// DHE_RSA_WITH_ARIA_256_GCM_SHA384
193
#endif
194
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_ARIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
195
uint16_t{0xC05C},
// ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256
196
#endif
197
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_ARIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
198
uint16_t{0xC05D},
// ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384
199
#endif
200
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_ARIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
201
uint16_t{0xC060},
// ECDHE_RSA_WITH_ARIA_128_GCM_SHA256
202
#endif
203
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_ARIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
204
uint16_t{0xC061},
// ECDHE_RSA_WITH_ARIA_256_GCM_SHA384
205
#endif
206
#if defined(BOTAN_HAS_ARIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
207
uint16_t{0xC06A},
// PSK_WITH_ARIA_128_GCM_SHA256
208
#endif
209
#if defined(BOTAN_HAS_ARIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
210
uint16_t{0xC06B},
// PSK_WITH_ARIA_256_GCM_SHA384
211
#endif
212
#if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING) && defined(BOTAN_HAS_CAMELLIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
213
uint16_t{0xC07A},
// RSA_WITH_CAMELLIA_128_GCM_SHA256
214
#endif
215
#if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING) && defined(BOTAN_HAS_CAMELLIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
216
uint16_t{0xC07B},
// RSA_WITH_CAMELLIA_256_GCM_SHA384
217
#endif
218
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_CAMELLIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
219
uint16_t{0xC07C},
// DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
220
#endif
221
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_CAMELLIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
222
uint16_t{0xC07D},
// DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
223
#endif
224
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_CAMELLIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
225
uint16_t{0xC086},
// ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
226
#endif
227
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_CAMELLIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
228
uint16_t{0xC087},
// ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
229
#endif
230
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_CAMELLIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
231
uint16_t{0xC08A},
// ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
232
#endif
233
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_CAMELLIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
234
uint16_t{0xC08B},
// ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
235
#endif
236
#if defined(BOTAN_HAS_CAMELLIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
237
uint16_t{0xC08E},
// PSK_WITH_CAMELLIA_128_GCM_SHA256
238
#endif
239
#if defined(BOTAN_HAS_CAMELLIA) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
240
uint16_t{0xC08F},
// PSK_WITH_CAMELLIA_256_GCM_SHA384
241
#endif
242
#if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
243
uint16_t{0xC09C},
// RSA_WITH_AES_128_CCM
244
#endif
245
#if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
246
uint16_t{0xC09D},
// RSA_WITH_AES_256_CCM
247
#endif
248
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
249
uint16_t{0xC09E},
// DHE_RSA_WITH_AES_128_CCM
250
#endif
251
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
252
uint16_t{0xC09F},
// DHE_RSA_WITH_AES_256_CCM
253
#endif
254
#if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
255
uint16_t{0xC0A0},
// RSA_WITH_AES_128_CCM_8
256
#endif
257
#if defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_PKCSV15_ENCRYPTION_PADDING) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
258
uint16_t{0xC0A1},
// RSA_WITH_AES_256_CCM_8
259
#endif
260
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
261
uint16_t{0xC0A2},
// DHE_RSA_WITH_AES_128_CCM_8
262
#endif
263
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
264
uint16_t{0xC0A3},
// DHE_RSA_WITH_AES_256_CCM_8
265
#endif
266
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
267
uint16_t{0xC0A4},
// PSK_WITH_AES_128_CCM
268
#endif
269
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
270
uint16_t{0xC0A5},
// PSK_WITH_AES_256_CCM
271
#endif
272
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
273
uint16_t{0xC0A8},
// PSK_WITH_AES_128_CCM_8
274
#endif
275
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
276
uint16_t{0xC0A9},
// PSK_WITH_AES_256_CCM_8
277
#endif
278
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
279
uint16_t{0xC0AC},
// ECDHE_ECDSA_WITH_AES_128_CCM
280
#endif
281
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
282
uint16_t{0xC0AD},
// ECDHE_ECDSA_WITH_AES_256_CCM
283
#endif
284
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
285
uint16_t{0xC0AE},
// ECDHE_ECDSA_WITH_AES_128_CCM_8
286
#endif
287
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
288
uint16_t{0xC0AF},
// ECDHE_ECDSA_WITH_AES_256_CCM_8
289
#endif
290
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AEAD_CHACHA20_POLY1305) && defined(BOTAN_HAS_SHA2_32)
291
uint16_t{0xCCA8},
// ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
292
#endif
293
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_AEAD_CHACHA20_POLY1305) && defined(BOTAN_HAS_SHA2_32)
294
uint16_t{0xCCA9},
// ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
295
#endif
296
#if defined(BOTAN_HAS_DIFFIE_HELLMAN) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AEAD_CHACHA20_POLY1305) && defined(BOTAN_HAS_SHA2_32)
297
uint16_t{0xCCAA},
// DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
298
#endif
299
#if defined(BOTAN_HAS_AEAD_CHACHA20_POLY1305) && defined(BOTAN_HAS_SHA2_32)
300
uint16_t{0xCCAB},
// PSK_WITH_CHACHA20_POLY1305_SHA256
301
#endif
302
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_AEAD_CHACHA20_POLY1305) && defined(BOTAN_HAS_SHA2_32)
303
uint16_t{0xCCAC},
// ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256
304
#endif
305
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_32)
306
uint16_t{0xD001},
// ECDHE_PSK_WITH_AES_128_GCM_SHA256
307
#endif
308
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_GCM) && defined(BOTAN_HAS_SHA2_64)
309
uint16_t{0xD002},
// ECDHE_PSK_WITH_AES_256_GCM_SHA384
310
#endif
311
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
312
uint16_t{0xD003},
// ECDHE_PSK_WITH_AES_128_CCM_8_SHA256
313
#endif
314
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_CCM) && defined(BOTAN_HAS_SHA2_32)
315
uint16_t{0xD005},
// ECDHE_PSK_WITH_AES_128_CCM_SHA256
316
#endif
317
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_RSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_OCB) && defined(BOTAN_HAS_SHA2_32)
318
uint16_t{0xFFC3},
// ECDHE_RSA_WITH_AES_256_OCB_SHA256
319
#endif
320
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_ECDSA) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_OCB) && defined(BOTAN_HAS_SHA2_32)
321
uint16_t{0xFFC5},
// ECDHE_ECDSA_WITH_AES_256_OCB_SHA256
322
#endif
323
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_OCB) && defined(BOTAN_HAS_SHA2_32)
324
uint16_t{0xFFC7},
// PSK_WITH_AES_256_OCB_SHA256
325
#endif
326
#if defined(BOTAN_HAS_ECDH) && defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_OCB) && defined(BOTAN_HAS_SHA2_32)
327
uint16_t{0xFFCB},
// ECDHE_PSK_WITH_AES_256_OCB_SHA256
328
#endif
329
};
330
// clang-format on
331
332
return
codes;
333
}
334
335
}
// namespace
336
337
//static
338
bool
Ciphersuite::is_known_usable(uint16_t code) {
339
static
constexpr
auto
codes = available_ciphersuites();
340
return
std::binary_search(codes.begin(), codes.end(), code);
341
}
342
343
//static
344
const
std::vector<Ciphersuite>&
Ciphersuite::all_known_ciphersuites
() {
345
// clang-format off
346
347
// Note that this list of ciphersuites is ordered by id!
348
static
const
std::vector<Ciphersuite> g_ciphersuite_list = {
349
Ciphersuite(0x000A,
"RSA_WITH_3DES_EDE_CBC_SHA"
,
Auth_Method::IMPLICIT
,
Kex_Algo::STATIC_RSA
,
"3DES"
, 24,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
350
Ciphersuite(0x0016,
"DHE_RSA_WITH_3DES_EDE_CBC_SHA"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"3DES"
, 24,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
351
Ciphersuite(0x002C,
"PSK_WITH_NULL_SHA"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"NULL"
, 0,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::NULL_CIPHER
),
352
Ciphersuite(0x002F,
"RSA_WITH_AES_128_CBC_SHA"
,
Auth_Method::IMPLICIT
,
Kex_Algo::STATIC_RSA
,
"AES-128"
, 16,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
353
Ciphersuite(0x0033,
"DHE_RSA_WITH_AES_128_CBC_SHA"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"AES-128"
, 16,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
354
Ciphersuite(0x0035,
"RSA_WITH_AES_256_CBC_SHA"
,
Auth_Method::IMPLICIT
,
Kex_Algo::STATIC_RSA
,
"AES-256"
, 32,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
355
Ciphersuite(0x0039,
"DHE_RSA_WITH_AES_256_CBC_SHA"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"AES-256"
, 32,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
356
Ciphersuite(0x003C,
"RSA_WITH_AES_128_CBC_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::STATIC_RSA
,
"AES-128"
, 16,
"SHA-256"
, 32,
KDF_Algo::SHA_256
,
Nonce_Format::CBC_MODE
),
357
Ciphersuite(0x003D,
"RSA_WITH_AES_256_CBC_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::STATIC_RSA
,
"AES-256"
, 32,
"SHA-256"
, 32,
KDF_Algo::SHA_256
,
Nonce_Format::CBC_MODE
),
358
Ciphersuite(0x0067,
"DHE_RSA_WITH_AES_128_CBC_SHA256"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"AES-128"
, 16,
"SHA-256"
, 32,
KDF_Algo::SHA_256
,
Nonce_Format::CBC_MODE
),
359
Ciphersuite(0x006B,
"DHE_RSA_WITH_AES_256_CBC_SHA256"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"AES-256"
, 32,
"SHA-256"
, 32,
KDF_Algo::SHA_256
,
Nonce_Format::CBC_MODE
),
360
Ciphersuite(0x008B,
"PSK_WITH_3DES_EDE_CBC_SHA"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"3DES"
, 24,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
361
Ciphersuite(0x008C,
"PSK_WITH_AES_128_CBC_SHA"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"AES-128"
, 16,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
362
Ciphersuite(0x008D,
"PSK_WITH_AES_256_CBC_SHA"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"AES-256"
, 32,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
363
Ciphersuite(0x009C,
"RSA_WITH_AES_128_GCM_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::STATIC_RSA
,
"AES-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
364
Ciphersuite(0x009D,
"RSA_WITH_AES_256_GCM_SHA384"
,
Auth_Method::IMPLICIT
,
Kex_Algo::STATIC_RSA
,
"AES-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
365
Ciphersuite(0x009E,
"DHE_RSA_WITH_AES_128_GCM_SHA256"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"AES-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
366
Ciphersuite(0x009F,
"DHE_RSA_WITH_AES_256_GCM_SHA384"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"AES-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
367
Ciphersuite(0x00A8,
"PSK_WITH_AES_128_GCM_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"AES-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
368
Ciphersuite(0x00A9,
"PSK_WITH_AES_256_GCM_SHA384"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"AES-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
369
Ciphersuite(0x00AE,
"PSK_WITH_AES_128_CBC_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"AES-128"
, 16,
"SHA-256"
, 32,
KDF_Algo::SHA_256
,
Nonce_Format::CBC_MODE
),
370
Ciphersuite(0x00AF,
"PSK_WITH_AES_256_CBC_SHA384"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"AES-256"
, 32,
"SHA-384"
, 48,
KDF_Algo::SHA_384
,
Nonce_Format::CBC_MODE
),
371
Ciphersuite(0x00B0,
"PSK_WITH_NULL_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"NULL"
, 0,
"SHA-256"
, 32,
KDF_Algo::SHA_256
,
Nonce_Format::NULL_CIPHER
),
372
Ciphersuite(0x00B1,
"PSK_WITH_NULL_SHA384"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"NULL"
, 0,
"SHA-384"
, 48,
KDF_Algo::SHA_384
,
Nonce_Format::NULL_CIPHER
),
373
Ciphersuite(0x1301,
"AES_128_GCM_SHA256"
,
Auth_Method::UNDEFINED
,
Kex_Algo::UNDEFINED
,
"AES-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
374
Ciphersuite(0x1302,
"AES_256_GCM_SHA384"
,
Auth_Method::UNDEFINED
,
Kex_Algo::UNDEFINED
,
"AES-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
375
Ciphersuite(0x1303,
"CHACHA20_POLY1305_SHA256"
,
Auth_Method::UNDEFINED
,
Kex_Algo::UNDEFINED
,
"ChaCha20Poly1305"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_XOR_12
),
376
Ciphersuite(0x1304,
"AES_128_CCM_SHA256"
,
Auth_Method::UNDEFINED
,
Kex_Algo::UNDEFINED
,
"AES-128/CCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
377
Ciphersuite(0x1305,
"AES_128_CCM_8_SHA256"
,
Auth_Method::UNDEFINED
,
Kex_Algo::UNDEFINED
,
"AES-128/CCM(8)"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
378
Ciphersuite(0xC006,
"ECDHE_ECDSA_WITH_NULL_SHA"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"NULL"
, 0,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::NULL_CIPHER
),
379
Ciphersuite(0xC008,
"ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"3DES"
, 24,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
380
Ciphersuite(0xC009,
"ECDHE_ECDSA_WITH_AES_128_CBC_SHA"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"AES-128"
, 16,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
381
Ciphersuite(0xC00A,
"ECDHE_ECDSA_WITH_AES_256_CBC_SHA"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"AES-256"
, 32,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
382
Ciphersuite(0xC010,
"ECDHE_RSA_WITH_NULL_SHA"
,
Auth_Method::RSA
,
Kex_Algo::ECDH
,
"NULL"
, 0,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::NULL_CIPHER
),
383
Ciphersuite(0xC012,
"ECDHE_RSA_WITH_3DES_EDE_CBC_SHA"
,
Auth_Method::RSA
,
Kex_Algo::ECDH
,
"3DES"
, 24,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
384
Ciphersuite(0xC013,
"ECDHE_RSA_WITH_AES_128_CBC_SHA"
,
Auth_Method::RSA
,
Kex_Algo::ECDH
,
"AES-128"
, 16,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
385
Ciphersuite(0xC014,
"ECDHE_RSA_WITH_AES_256_CBC_SHA"
,
Auth_Method::RSA
,
Kex_Algo::ECDH
,
"AES-256"
, 32,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
386
Ciphersuite(0xC023,
"ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"AES-128"
, 16,
"SHA-256"
, 32,
KDF_Algo::SHA_256
,
Nonce_Format::CBC_MODE
),
387
Ciphersuite(0xC024,
"ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"AES-256"
, 32,
"SHA-384"
, 48,
KDF_Algo::SHA_384
,
Nonce_Format::CBC_MODE
),
388
Ciphersuite(0xC027,
"ECDHE_RSA_WITH_AES_128_CBC_SHA256"
,
Auth_Method::RSA
,
Kex_Algo::ECDH
,
"AES-128"
, 16,
"SHA-256"
, 32,
KDF_Algo::SHA_256
,
Nonce_Format::CBC_MODE
),
389
Ciphersuite(0xC028,
"ECDHE_RSA_WITH_AES_256_CBC_SHA384"
,
Auth_Method::RSA
,
Kex_Algo::ECDH
,
"AES-256"
, 32,
"SHA-384"
, 48,
KDF_Algo::SHA_384
,
Nonce_Format::CBC_MODE
),
390
Ciphersuite(0xC02B,
"ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"AES-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
391
Ciphersuite(0xC02C,
"ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"AES-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
392
Ciphersuite(0xC02F,
"ECDHE_RSA_WITH_AES_128_GCM_SHA256"
,
Auth_Method::RSA
,
Kex_Algo::ECDH
,
"AES-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
393
Ciphersuite(0xC030,
"ECDHE_RSA_WITH_AES_256_GCM_SHA384"
,
Auth_Method::RSA
,
Kex_Algo::ECDH
,
"AES-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
394
Ciphersuite(0xC034,
"ECDHE_PSK_WITH_3DES_EDE_CBC_SHA"
,
Auth_Method::IMPLICIT
,
Kex_Algo::ECDHE_PSK
,
"3DES"
, 24,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
395
Ciphersuite(0xC035,
"ECDHE_PSK_WITH_AES_128_CBC_SHA"
,
Auth_Method::IMPLICIT
,
Kex_Algo::ECDHE_PSK
,
"AES-128"
, 16,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
396
Ciphersuite(0xC036,
"ECDHE_PSK_WITH_AES_256_CBC_SHA"
,
Auth_Method::IMPLICIT
,
Kex_Algo::ECDHE_PSK
,
"AES-256"
, 32,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::CBC_MODE
),
397
Ciphersuite(0xC037,
"ECDHE_PSK_WITH_AES_128_CBC_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::ECDHE_PSK
,
"AES-128"
, 16,
"SHA-256"
, 32,
KDF_Algo::SHA_256
,
Nonce_Format::CBC_MODE
),
398
Ciphersuite(0xC038,
"ECDHE_PSK_WITH_AES_256_CBC_SHA384"
,
Auth_Method::IMPLICIT
,
Kex_Algo::ECDHE_PSK
,
"AES-256"
, 32,
"SHA-384"
, 48,
KDF_Algo::SHA_384
,
Nonce_Format::CBC_MODE
),
399
Ciphersuite(0xC039,
"ECDHE_PSK_WITH_NULL_SHA"
,
Auth_Method::IMPLICIT
,
Kex_Algo::ECDHE_PSK
,
"NULL"
, 0,
"SHA-1"
, 20,
KDF_Algo::SHA_1
,
Nonce_Format::NULL_CIPHER
),
400
Ciphersuite(0xC03A,
"ECDHE_PSK_WITH_NULL_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::ECDHE_PSK
,
"NULL"
, 0,
"SHA-256"
, 32,
KDF_Algo::SHA_256
,
Nonce_Format::NULL_CIPHER
),
401
Ciphersuite(0xC03B,
"ECDHE_PSK_WITH_NULL_SHA384"
,
Auth_Method::IMPLICIT
,
Kex_Algo::ECDHE_PSK
,
"NULL"
, 0,
"SHA-384"
, 48,
KDF_Algo::SHA_384
,
Nonce_Format::NULL_CIPHER
),
402
Ciphersuite(0xC050,
"RSA_WITH_ARIA_128_GCM_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::STATIC_RSA
,
"ARIA-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
403
Ciphersuite(0xC051,
"RSA_WITH_ARIA_256_GCM_SHA384"
,
Auth_Method::IMPLICIT
,
Kex_Algo::STATIC_RSA
,
"ARIA-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
404
Ciphersuite(0xC052,
"DHE_RSA_WITH_ARIA_128_GCM_SHA256"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"ARIA-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
405
Ciphersuite(0xC053,
"DHE_RSA_WITH_ARIA_256_GCM_SHA384"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"ARIA-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
406
Ciphersuite(0xC05C,
"ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"ARIA-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
407
Ciphersuite(0xC05D,
"ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"ARIA-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
408
Ciphersuite(0xC060,
"ECDHE_RSA_WITH_ARIA_128_GCM_SHA256"
,
Auth_Method::RSA
,
Kex_Algo::ECDH
,
"ARIA-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
409
Ciphersuite(0xC061,
"ECDHE_RSA_WITH_ARIA_256_GCM_SHA384"
,
Auth_Method::RSA
,
Kex_Algo::ECDH
,
"ARIA-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
410
Ciphersuite(0xC06A,
"PSK_WITH_ARIA_128_GCM_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"ARIA-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
411
Ciphersuite(0xC06B,
"PSK_WITH_ARIA_256_GCM_SHA384"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"ARIA-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
412
Ciphersuite(0xC07A,
"RSA_WITH_CAMELLIA_128_GCM_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::STATIC_RSA
,
"Camellia-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
413
Ciphersuite(0xC07B,
"RSA_WITH_CAMELLIA_256_GCM_SHA384"
,
Auth_Method::IMPLICIT
,
Kex_Algo::STATIC_RSA
,
"Camellia-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
414
Ciphersuite(0xC07C,
"DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"Camellia-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
415
Ciphersuite(0xC07D,
"DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"Camellia-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
416
Ciphersuite(0xC086,
"ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"Camellia-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
417
Ciphersuite(0xC087,
"ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"Camellia-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
418
Ciphersuite(0xC08A,
"ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256"
,
Auth_Method::RSA
,
Kex_Algo::ECDH
,
"Camellia-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
419
Ciphersuite(0xC08B,
"ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384"
,
Auth_Method::RSA
,
Kex_Algo::ECDH
,
"Camellia-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
420
Ciphersuite(0xC08E,
"PSK_WITH_CAMELLIA_128_GCM_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"Camellia-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
421
Ciphersuite(0xC08F,
"PSK_WITH_CAMELLIA_256_GCM_SHA384"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"Camellia-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
422
Ciphersuite(0xC09C,
"RSA_WITH_AES_128_CCM"
,
Auth_Method::IMPLICIT
,
Kex_Algo::STATIC_RSA
,
"AES-128/CCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
423
Ciphersuite(0xC09D,
"RSA_WITH_AES_256_CCM"
,
Auth_Method::IMPLICIT
,
Kex_Algo::STATIC_RSA
,
"AES-256/CCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
424
Ciphersuite(0xC09E,
"DHE_RSA_WITH_AES_128_CCM"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"AES-128/CCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
425
Ciphersuite(0xC09F,
"DHE_RSA_WITH_AES_256_CCM"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"AES-256/CCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
426
Ciphersuite(0xC0A0,
"RSA_WITH_AES_128_CCM_8"
,
Auth_Method::IMPLICIT
,
Kex_Algo::STATIC_RSA
,
"AES-128/CCM(8)"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
427
Ciphersuite(0xC0A1,
"RSA_WITH_AES_256_CCM_8"
,
Auth_Method::IMPLICIT
,
Kex_Algo::STATIC_RSA
,
"AES-256/CCM(8)"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
428
Ciphersuite(0xC0A2,
"DHE_RSA_WITH_AES_128_CCM_8"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"AES-128/CCM(8)"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
429
Ciphersuite(0xC0A3,
"DHE_RSA_WITH_AES_256_CCM_8"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"AES-256/CCM(8)"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
430
Ciphersuite(0xC0A4,
"PSK_WITH_AES_128_CCM"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"AES-128/CCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
431
Ciphersuite(0xC0A5,
"PSK_WITH_AES_256_CCM"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"AES-256/CCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
432
Ciphersuite(0xC0A8,
"PSK_WITH_AES_128_CCM_8"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"AES-128/CCM(8)"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
433
Ciphersuite(0xC0A9,
"PSK_WITH_AES_256_CCM_8"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"AES-256/CCM(8)"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
434
Ciphersuite(0xC0AC,
"ECDHE_ECDSA_WITH_AES_128_CCM"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"AES-128/CCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
435
Ciphersuite(0xC0AD,
"ECDHE_ECDSA_WITH_AES_256_CCM"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"AES-256/CCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
436
Ciphersuite(0xC0AE,
"ECDHE_ECDSA_WITH_AES_128_CCM_8"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"AES-128/CCM(8)"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
437
Ciphersuite(0xC0AF,
"ECDHE_ECDSA_WITH_AES_256_CCM_8"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"AES-256/CCM(8)"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
438
Ciphersuite(0xCCA8,
"ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256"
,
Auth_Method::RSA
,
Kex_Algo::ECDH
,
"ChaCha20Poly1305"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_XOR_12
),
439
Ciphersuite(0xCCA9,
"ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"ChaCha20Poly1305"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_XOR_12
),
440
Ciphersuite(0xCCAA,
"DHE_RSA_WITH_CHACHA20_POLY1305_SHA256"
,
Auth_Method::RSA
,
Kex_Algo::DH
,
"ChaCha20Poly1305"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_XOR_12
),
441
Ciphersuite(0xCCAB,
"PSK_WITH_CHACHA20_POLY1305_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"ChaCha20Poly1305"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_XOR_12
),
442
Ciphersuite(0xCCAC,
"ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::ECDHE_PSK
,
"ChaCha20Poly1305"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_XOR_12
),
443
Ciphersuite(0xD001,
"ECDHE_PSK_WITH_AES_128_GCM_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::ECDHE_PSK
,
"AES-128/GCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
444
Ciphersuite(0xD002,
"ECDHE_PSK_WITH_AES_256_GCM_SHA384"
,
Auth_Method::IMPLICIT
,
Kex_Algo::ECDHE_PSK
,
"AES-256/GCM"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_384
,
Nonce_Format::AEAD_IMPLICIT_4
),
445
Ciphersuite(0xD003,
"ECDHE_PSK_WITH_AES_128_CCM_8_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::ECDHE_PSK
,
"AES-128/CCM(8)"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
446
Ciphersuite(0xD005,
"ECDHE_PSK_WITH_AES_128_CCM_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::ECDHE_PSK
,
"AES-128/CCM"
, 16,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_IMPLICIT_4
),
447
Ciphersuite(0xFFC3,
"ECDHE_RSA_WITH_AES_256_OCB_SHA256"
,
Auth_Method::RSA
,
Kex_Algo::ECDH
,
"AES-256/OCB(12)"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_XOR_12
),
448
Ciphersuite(0xFFC5,
"ECDHE_ECDSA_WITH_AES_256_OCB_SHA256"
,
Auth_Method::ECDSA
,
Kex_Algo::ECDH
,
"AES-256/OCB(12)"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_XOR_12
),
449
Ciphersuite(0xFFC7,
"PSK_WITH_AES_256_OCB_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::PSK
,
"AES-256/OCB(12)"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_XOR_12
),
450
Ciphersuite(0xFFCB,
"ECDHE_PSK_WITH_AES_256_OCB_SHA256"
,
Auth_Method::IMPLICIT
,
Kex_Algo::ECDHE_PSK
,
"AES-256/OCB(12)"
, 32,
"AEAD"
, 0,
KDF_Algo::SHA_256
,
Nonce_Format::AEAD_XOR_12
),
451
};
452
453
// clang-format on
454
455
return
g_ciphersuite_list;
456
}
457
458
}
// namespace Botan::TLS
Botan::TLS::Ciphersuite::all_known_ciphersuites
static const std::vector< Ciphersuite > & all_known_ciphersuites()
Definition
tls_suite_info.cpp:344
Botan::TLS
Definition
asio_context.cpp:18
Botan::TLS::Kex_Algo::ECDH
@ ECDH
Definition
tls_algos.h:258
Botan::TLS::Kex_Algo::UNDEFINED
@ UNDEFINED
Definition
tls_algos.h:268
Botan::TLS::Kex_Algo::PSK
@ PSK
Definition
tls_algos.h:259
Botan::TLS::Kex_Algo::ECDHE_PSK
@ ECDHE_PSK
Definition
tls_algos.h:260
Botan::TLS::Kex_Algo::STATIC_RSA
@ STATIC_RSA
Definition
tls_algos.h:256
Botan::TLS::Kex_Algo::DH
@ DH
Definition
tls_algos.h:257
Botan::TLS::Auth_Method::UNDEFINED
@ UNDEFINED
Definition
tls_algos.h:68
Botan::TLS::Auth_Method::IMPLICIT
@ IMPLICIT
Definition
tls_algos.h:71
Botan::TLS::Auth_Method::RSA
@ RSA
Definition
tls_algos.h:64
Botan::TLS::Auth_Method::ECDSA
@ ECDSA
Definition
tls_algos.h:65
Botan::TLS::Nonce_Format::CBC_MODE
@ CBC_MODE
Definition
tls_algos.h:55
Botan::TLS::Nonce_Format::AEAD_XOR_12
@ AEAD_XOR_12
Definition
tls_algos.h:57
Botan::TLS::Nonce_Format::NULL_CIPHER
@ NULL_CIPHER
Definition
tls_algos.h:58
Botan::TLS::Nonce_Format::AEAD_IMPLICIT_4
@ AEAD_IMPLICIT_4
Definition
tls_algos.h:56
Botan::TLS::KDF_Algo::SHA_384
@ SHA_384
Definition
tls_algos.h:49
Botan::TLS::KDF_Algo::SHA_256
@ SHA_256
Definition
tls_algos.h:48
Botan::TLS::KDF_Algo::SHA_1
@ SHA_1
Definition
tls_algos.h:47
Generated by
1.16.1