1 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
2 | * All rights reserved. |
3 | * |
4 | * This package is an SSL implementation written |
5 | * by Eric Young (eay@cryptsoft.com). |
6 | * The implementation was written so as to conform with Netscapes SSL. |
7 | * |
8 | * This library is free for commercial and non-commercial use as long as |
9 | * the following conditions are aheared to. The following conditions |
10 | * apply to all code found in this distribution, be it the RC4, RSA, |
11 | * lhash, DES, etc., code; not just the SSL code. The SSL documentation |
12 | * included with this distribution is covered by the same copyright terms |
13 | * except that the holder is Tim Hudson (tjh@cryptsoft.com). |
14 | * |
15 | * Copyright remains Eric Young's, and as such any Copyright notices in |
16 | * the code are not to be removed. |
17 | * If this package is used in a product, Eric Young should be given attribution |
18 | * as the author of the parts of the library used. |
19 | * This can be in the form of a textual message at program startup or |
20 | * in documentation (online or textual) provided with the package. |
21 | * |
22 | * Redistribution and use in source and binary forms, with or without |
23 | * modification, are permitted provided that the following conditions |
24 | * are met: |
25 | * 1. Redistributions of source code must retain the copyright |
26 | * notice, this list of conditions and the following disclaimer. |
27 | * 2. Redistributions in binary form must reproduce the above copyright |
28 | * notice, this list of conditions and the following disclaimer in the |
29 | * documentation and/or other materials provided with the distribution. |
30 | * 3. All advertising materials mentioning features or use of this software |
31 | * must display the following acknowledgement: |
32 | * "This product includes cryptographic software written by |
33 | * Eric Young (eay@cryptsoft.com)" |
34 | * The word 'cryptographic' can be left out if the rouines from the library |
35 | * being used are not cryptographic related :-). |
36 | * 4. If you include any Windows specific code (or a derivative thereof) from |
37 | * the apps directory (application code) you must include an acknowledgement: |
38 | * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" |
39 | * |
40 | * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND |
41 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
42 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
43 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE |
44 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
45 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
46 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
47 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
48 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
49 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
50 | * SUCH DAMAGE. |
51 | * |
52 | * The licence and distribution terms for any publically available version or |
53 | * derivative of this code cannot be changed. i.e. this code cannot simply be |
54 | * copied and put under another distribution licence |
55 | * [including the GNU Public Licence.] |
56 | */ |
57 | /* ==================================================================== |
58 | * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. |
59 | * |
60 | * Redistribution and use in source and binary forms, with or without |
61 | * modification, are permitted provided that the following conditions |
62 | * are met: |
63 | * |
64 | * 1. Redistributions of source code must retain the above copyright |
65 | * notice, this list of conditions and the following disclaimer. |
66 | * |
67 | * 2. Redistributions in binary form must reproduce the above copyright |
68 | * notice, this list of conditions and the following disclaimer in |
69 | * the documentation and/or other materials provided with the |
70 | * distribution. |
71 | * |
72 | * 3. All advertising materials mentioning features or use of this |
73 | * software must display the following acknowledgment: |
74 | * "This product includes software developed by the OpenSSL Project |
75 | * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" |
76 | * |
77 | * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to |
78 | * endorse or promote products derived from this software without |
79 | * prior written permission. For written permission, please contact |
80 | * openssl-core@openssl.org. |
81 | * |
82 | * 5. Products derived from this software may not be called "OpenSSL" |
83 | * nor may "OpenSSL" appear in their names without prior written |
84 | * permission of the OpenSSL Project. |
85 | * |
86 | * 6. Redistributions of any form whatsoever must retain the following |
87 | * acknowledgment: |
88 | * "This product includes software developed by the OpenSSL Project |
89 | * for use in the OpenSSL Toolkit (http://www.openssl.org/)" |
90 | * |
91 | * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY |
92 | * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
93 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
94 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR |
95 | * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
96 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
97 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
98 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
99 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
100 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
101 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED |
102 | * OF THE POSSIBILITY OF SUCH DAMAGE. |
103 | * ==================================================================== |
104 | * |
105 | * This product includes cryptographic software written by Eric Young |
106 | * (eay@cryptsoft.com). This product includes software written by Tim |
107 | * Hudson (tjh@cryptsoft.com). |
108 | * |
109 | */ |
110 | /* ==================================================================== |
111 | * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. |
112 | * |
113 | * Portions of the attached software ("Contribution") are developed by |
114 | * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. |
115 | * |
116 | * The Contribution is licensed pursuant to the OpenSSL open source |
117 | * license provided above. |
118 | * |
119 | * ECC cipher suite support in OpenSSL originally written by |
120 | * Vipul Gupta and Sumit Gupta of Sun Microsystems Laboratories. |
121 | * |
122 | */ |
123 | /* ==================================================================== |
124 | * Copyright 2005 Nokia. All rights reserved. |
125 | * |
126 | * The portions of the attached software ("Contribution") is developed by |
127 | * Nokia Corporation and is licensed pursuant to the OpenSSL open source |
128 | * license. |
129 | * |
130 | * The Contribution, originally written by Mika Kousa and Pasi Eronen of |
131 | * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites |
132 | * support (see RFC 4279) to OpenSSL. |
133 | * |
134 | * No patent licenses or other rights except those expressly stated in |
135 | * the OpenSSL open source license shall be deemed granted or received |
136 | * expressly, by implication, estoppel, or otherwise. |
137 | * |
138 | * No assurances are provided by Nokia that the Contribution does not |
139 | * infringe the patent or other intellectual property rights of any third |
140 | * party or that the license provides you with all the necessary rights |
141 | * to make use of the Contribution. |
142 | * |
143 | * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN |
144 | * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA |
145 | * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY |
146 | * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR |
147 | * OTHERWISE. |
148 | */ |
149 | |
150 | #ifndef OPENSSL_HEADER_TLS1_H |
151 | #define |
152 | |
153 | #include <openssl/base.h> |
154 | |
155 | #ifdef __cplusplus |
156 | extern "C" { |
157 | #endif |
158 | |
159 | |
160 | #define TLS1_AD_END_OF_EARLY_DATA 1 |
161 | #define TLS1_AD_DECRYPTION_FAILED 21 |
162 | #define TLS1_AD_RECORD_OVERFLOW 22 |
163 | #define TLS1_AD_UNKNOWN_CA 48 |
164 | #define TLS1_AD_ACCESS_DENIED 49 |
165 | #define TLS1_AD_DECODE_ERROR 50 |
166 | #define TLS1_AD_DECRYPT_ERROR 51 |
167 | #define TLS1_AD_EXPORT_RESTRICTION 60 |
168 | #define TLS1_AD_PROTOCOL_VERSION 70 |
169 | #define TLS1_AD_INSUFFICIENT_SECURITY 71 |
170 | #define TLS1_AD_INTERNAL_ERROR 80 |
171 | #define TLS1_AD_USER_CANCELLED 90 |
172 | #define TLS1_AD_NO_RENEGOTIATION 100 |
173 | #define TLS1_AD_MISSING_EXTENSION 109 |
174 | // codes 110-114 are from RFC3546 |
175 | #define TLS1_AD_UNSUPPORTED_EXTENSION 110 |
176 | #define TLS1_AD_CERTIFICATE_UNOBTAINABLE 111 |
177 | #define TLS1_AD_UNRECOGNIZED_NAME 112 |
178 | #define TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE 113 |
179 | #define TLS1_AD_BAD_CERTIFICATE_HASH_VALUE 114 |
180 | #define TLS1_AD_UNKNOWN_PSK_IDENTITY 115 |
181 | #define TLS1_AD_CERTIFICATE_REQUIRED 116 |
182 | |
183 | // ExtensionType values from RFC6066 |
184 | #define TLSEXT_TYPE_server_name 0 |
185 | #define TLSEXT_TYPE_status_request 5 |
186 | |
187 | // ExtensionType values from RFC4492 |
188 | #define TLSEXT_TYPE_ec_point_formats 11 |
189 | |
190 | // ExtensionType values from RFC5246 |
191 | #define TLSEXT_TYPE_signature_algorithms 13 |
192 | |
193 | // ExtensionType value from RFC5764 |
194 | #define TLSEXT_TYPE_srtp 14 |
195 | |
196 | // ExtensionType value from RFC7301 |
197 | #define TLSEXT_TYPE_application_layer_protocol_negotiation 16 |
198 | |
199 | // ExtensionType value from RFC7685 |
200 | #define TLSEXT_TYPE_padding 21 |
201 | |
202 | // ExtensionType value from RFC7627 |
203 | #define TLSEXT_TYPE_extended_master_secret 23 |
204 | |
205 | // ExtensionType value from draft-ietf-tokbind-negotiation-10 |
206 | #define TLSEXT_TYPE_token_binding 24 |
207 | |
208 | // ExtensionType value from draft-ietf-quic-tls. Note that this collides with |
209 | // TLS-LTS and, based on scans, something else too. Since it's QUIC-only, that |
210 | // shouldn't be a problem in practice. |
211 | #define TLSEXT_TYPE_quic_transport_parameters 0xffa5 |
212 | |
213 | // ExtensionType value assigned to |
214 | // https://tools.ietf.org/html/draft-ietf-tls-certificate-compression-03 |
215 | #define TLSEXT_TYPE_cert_compression 27 |
216 | |
217 | // ExtensionType value from RFC4507 |
218 | #define TLSEXT_TYPE_session_ticket 35 |
219 | |
220 | // ExtensionType values from RFC8446 |
221 | #define TLSEXT_TYPE_supported_groups 10 |
222 | #define TLSEXT_TYPE_pre_shared_key 41 |
223 | #define TLSEXT_TYPE_early_data 42 |
224 | #define TLSEXT_TYPE_supported_versions 43 |
225 | #define TLSEXT_TYPE_cookie 44 |
226 | #define TLSEXT_TYPE_psk_key_exchange_modes 45 |
227 | #define TLSEXT_TYPE_certificate_authorities 47 |
228 | #define TLSEXT_TYPE_signature_algorithms_cert 50 |
229 | #define TLSEXT_TYPE_key_share 51 |
230 | |
231 | // ExtensionType value from RFC5746 |
232 | #define TLSEXT_TYPE_renegotiate 0xff01 |
233 | |
234 | // ExtensionType value from draft-ietf-tls-subcerts. This is not an IANA defined |
235 | // extension number. |
236 | #define TLSEXT_TYPE_delegated_credential 0xff02 |
237 | |
238 | // ExtensionType value from RFC6962 |
239 | #define TLSEXT_TYPE_certificate_timestamp 18 |
240 | |
241 | // This is not an IANA defined extension number |
242 | #define TLSEXT_TYPE_next_proto_neg 13172 |
243 | |
244 | // This is not an IANA defined extension number |
245 | #define TLSEXT_TYPE_channel_id 30032 |
246 | |
247 | // This is not an IANA defined extension number |
248 | #define TLSEXT_TYPE_pq_experiment_signal 54538 |
249 | |
250 | // status request value from RFC 3546 |
251 | #define TLSEXT_STATUSTYPE_nothing (-1) |
252 | #define TLSEXT_STATUSTYPE_ocsp 1 |
253 | |
254 | // ECPointFormat values from RFC 4492 |
255 | #define TLSEXT_ECPOINTFORMAT_uncompressed 0 |
256 | #define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime 1 |
257 | |
258 | // Signature and hash algorithms from RFC 5246 |
259 | |
260 | #define TLSEXT_signature_anonymous 0 |
261 | #define TLSEXT_signature_rsa 1 |
262 | #define TLSEXT_signature_dsa 2 |
263 | #define TLSEXT_signature_ecdsa 3 |
264 | |
265 | #define TLSEXT_hash_none 0 |
266 | #define TLSEXT_hash_md5 1 |
267 | #define TLSEXT_hash_sha1 2 |
268 | #define TLSEXT_hash_sha224 3 |
269 | #define TLSEXT_hash_sha256 4 |
270 | #define TLSEXT_hash_sha384 5 |
271 | #define TLSEXT_hash_sha512 6 |
272 | |
273 | // From https://tools.ietf.org/html/draft-ietf-tls-certificate-compression-03#section-3 |
274 | #define TLSEXT_cert_compression_zlib 1 |
275 | #define TLSEXT_cert_compression_brotli 2 |
276 | |
277 | #define TLSEXT_MAXLEN_host_name 255 |
278 | |
279 | // PSK ciphersuites from 4279 |
280 | #define TLS1_CK_PSK_WITH_RC4_128_SHA 0x0300008A |
281 | #define TLS1_CK_PSK_WITH_3DES_EDE_CBC_SHA 0x0300008B |
282 | #define TLS1_CK_PSK_WITH_AES_128_CBC_SHA 0x0300008C |
283 | #define TLS1_CK_PSK_WITH_AES_256_CBC_SHA 0x0300008D |
284 | |
285 | // PSK ciphersuites from RFC 5489 |
286 | #define TLS1_CK_ECDHE_PSK_WITH_AES_128_CBC_SHA 0x0300C035 |
287 | #define TLS1_CK_ECDHE_PSK_WITH_AES_256_CBC_SHA 0x0300C036 |
288 | |
289 | // Additional TLS ciphersuites from expired Internet Draft |
290 | // draft-ietf-tls-56-bit-ciphersuites-01.txt |
291 | // (available if TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES is defined, see |
292 | // s3_lib.c). We actually treat them like SSL 3.0 ciphers, which we probably |
293 | // shouldn't. Note that the first two are actually not in the IDs. |
294 | #define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_MD5 0x03000060 // not in ID |
295 | #define TLS1_CK_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 0x03000061 // not in ID |
296 | #define TLS1_CK_RSA_EXPORT1024_WITH_DES_CBC_SHA 0x03000062 |
297 | #define TLS1_CK_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA 0x03000063 |
298 | #define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_SHA 0x03000064 |
299 | #define TLS1_CK_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA 0x03000065 |
300 | #define TLS1_CK_DHE_DSS_WITH_RC4_128_SHA 0x03000066 |
301 | |
302 | // AES ciphersuites from RFC3268 |
303 | |
304 | #define TLS1_CK_RSA_WITH_AES_128_SHA 0x0300002F |
305 | #define TLS1_CK_DH_DSS_WITH_AES_128_SHA 0x03000030 |
306 | #define TLS1_CK_DH_RSA_WITH_AES_128_SHA 0x03000031 |
307 | #define TLS1_CK_DHE_DSS_WITH_AES_128_SHA 0x03000032 |
308 | #define TLS1_CK_DHE_RSA_WITH_AES_128_SHA 0x03000033 |
309 | #define TLS1_CK_ADH_WITH_AES_128_SHA 0x03000034 |
310 | |
311 | #define TLS1_CK_RSA_WITH_AES_256_SHA 0x03000035 |
312 | #define TLS1_CK_DH_DSS_WITH_AES_256_SHA 0x03000036 |
313 | #define TLS1_CK_DH_RSA_WITH_AES_256_SHA 0x03000037 |
314 | #define TLS1_CK_DHE_DSS_WITH_AES_256_SHA 0x03000038 |
315 | #define TLS1_CK_DHE_RSA_WITH_AES_256_SHA 0x03000039 |
316 | #define TLS1_CK_ADH_WITH_AES_256_SHA 0x0300003A |
317 | |
318 | // TLS v1.2 ciphersuites |
319 | #define TLS1_CK_RSA_WITH_NULL_SHA256 0x0300003B |
320 | #define TLS1_CK_RSA_WITH_AES_128_SHA256 0x0300003C |
321 | #define TLS1_CK_RSA_WITH_AES_256_SHA256 0x0300003D |
322 | #define TLS1_CK_DH_DSS_WITH_AES_128_SHA256 0x0300003E |
323 | #define TLS1_CK_DH_RSA_WITH_AES_128_SHA256 0x0300003F |
324 | #define TLS1_CK_DHE_DSS_WITH_AES_128_SHA256 0x03000040 |
325 | |
326 | // Camellia ciphersuites from RFC4132 |
327 | #define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000041 |
328 | #define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000042 |
329 | #define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000043 |
330 | #define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000044 |
331 | #define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000045 |
332 | #define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA 0x03000046 |
333 | |
334 | // TLS v1.2 ciphersuites |
335 | #define TLS1_CK_DHE_RSA_WITH_AES_128_SHA256 0x03000067 |
336 | #define TLS1_CK_DH_DSS_WITH_AES_256_SHA256 0x03000068 |
337 | #define TLS1_CK_DH_RSA_WITH_AES_256_SHA256 0x03000069 |
338 | #define TLS1_CK_DHE_DSS_WITH_AES_256_SHA256 0x0300006A |
339 | #define TLS1_CK_DHE_RSA_WITH_AES_256_SHA256 0x0300006B |
340 | #define TLS1_CK_ADH_WITH_AES_128_SHA256 0x0300006C |
341 | #define TLS1_CK_ADH_WITH_AES_256_SHA256 0x0300006D |
342 | |
343 | // Camellia ciphersuites from RFC4132 |
344 | #define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000084 |
345 | #define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000085 |
346 | #define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000086 |
347 | #define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000087 |
348 | #define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000088 |
349 | #define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA 0x03000089 |
350 | |
351 | // SEED ciphersuites from RFC4162 |
352 | #define TLS1_CK_RSA_WITH_SEED_SHA 0x03000096 |
353 | #define TLS1_CK_DH_DSS_WITH_SEED_SHA 0x03000097 |
354 | #define TLS1_CK_DH_RSA_WITH_SEED_SHA 0x03000098 |
355 | #define TLS1_CK_DHE_DSS_WITH_SEED_SHA 0x03000099 |
356 | #define TLS1_CK_DHE_RSA_WITH_SEED_SHA 0x0300009A |
357 | #define TLS1_CK_ADH_WITH_SEED_SHA 0x0300009B |
358 | |
359 | // TLS v1.2 GCM ciphersuites from RFC5288 |
360 | #define TLS1_CK_RSA_WITH_AES_128_GCM_SHA256 0x0300009C |
361 | #define TLS1_CK_RSA_WITH_AES_256_GCM_SHA384 0x0300009D |
362 | #define TLS1_CK_DHE_RSA_WITH_AES_128_GCM_SHA256 0x0300009E |
363 | #define TLS1_CK_DHE_RSA_WITH_AES_256_GCM_SHA384 0x0300009F |
364 | #define TLS1_CK_DH_RSA_WITH_AES_128_GCM_SHA256 0x030000A0 |
365 | #define TLS1_CK_DH_RSA_WITH_AES_256_GCM_SHA384 0x030000A1 |
366 | #define TLS1_CK_DHE_DSS_WITH_AES_128_GCM_SHA256 0x030000A2 |
367 | #define TLS1_CK_DHE_DSS_WITH_AES_256_GCM_SHA384 0x030000A3 |
368 | #define TLS1_CK_DH_DSS_WITH_AES_128_GCM_SHA256 0x030000A4 |
369 | #define TLS1_CK_DH_DSS_WITH_AES_256_GCM_SHA384 0x030000A5 |
370 | #define TLS1_CK_ADH_WITH_AES_128_GCM_SHA256 0x030000A6 |
371 | #define TLS1_CK_ADH_WITH_AES_256_GCM_SHA384 0x030000A7 |
372 | |
373 | // ECC ciphersuites from RFC4492 |
374 | #define TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA 0x0300C001 |
375 | #define TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA 0x0300C002 |
376 | #define TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C003 |
377 | #define TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0x0300C004 |
378 | #define TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA 0x0300C005 |
379 | |
380 | #define TLS1_CK_ECDHE_ECDSA_WITH_NULL_SHA 0x0300C006 |
381 | #define TLS1_CK_ECDHE_ECDSA_WITH_RC4_128_SHA 0x0300C007 |
382 | #define TLS1_CK_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C008 |
383 | #define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 0x0300C009 |
384 | #define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 0x0300C00A |
385 | |
386 | #define TLS1_CK_ECDH_RSA_WITH_NULL_SHA 0x0300C00B |
387 | #define TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA 0x0300C00C |
388 | #define TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA 0x0300C00D |
389 | #define TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA 0x0300C00E |
390 | #define TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA 0x0300C00F |
391 | |
392 | #define TLS1_CK_ECDHE_RSA_WITH_NULL_SHA 0x0300C010 |
393 | #define TLS1_CK_ECDHE_RSA_WITH_RC4_128_SHA 0x0300C011 |
394 | #define TLS1_CK_ECDHE_RSA_WITH_DES_192_CBC3_SHA 0x0300C012 |
395 | #define TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA 0x0300C013 |
396 | #define TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA 0x0300C014 |
397 | |
398 | #define TLS1_CK_ECDH_anon_WITH_NULL_SHA 0x0300C015 |
399 | #define TLS1_CK_ECDH_anon_WITH_RC4_128_SHA 0x0300C016 |
400 | #define TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA 0x0300C017 |
401 | #define TLS1_CK_ECDH_anon_WITH_AES_128_CBC_SHA 0x0300C018 |
402 | #define TLS1_CK_ECDH_anon_WITH_AES_256_CBC_SHA 0x0300C019 |
403 | |
404 | // SRP ciphersuites from RFC 5054 |
405 | #define TLS1_CK_SRP_SHA_WITH_3DES_EDE_CBC_SHA 0x0300C01A |
406 | #define TLS1_CK_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA 0x0300C01B |
407 | #define TLS1_CK_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA 0x0300C01C |
408 | #define TLS1_CK_SRP_SHA_WITH_AES_128_CBC_SHA 0x0300C01D |
409 | #define TLS1_CK_SRP_SHA_RSA_WITH_AES_128_CBC_SHA 0x0300C01E |
410 | #define TLS1_CK_SRP_SHA_DSS_WITH_AES_128_CBC_SHA 0x0300C01F |
411 | #define TLS1_CK_SRP_SHA_WITH_AES_256_CBC_SHA 0x0300C020 |
412 | #define TLS1_CK_SRP_SHA_RSA_WITH_AES_256_CBC_SHA 0x0300C021 |
413 | #define TLS1_CK_SRP_SHA_DSS_WITH_AES_256_CBC_SHA 0x0300C022 |
414 | |
415 | // ECDH HMAC based ciphersuites from RFC5289 |
416 | |
417 | #define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_SHA256 0x0300C023 |
418 | #define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_SHA384 0x0300C024 |
419 | #define TLS1_CK_ECDH_ECDSA_WITH_AES_128_SHA256 0x0300C025 |
420 | #define TLS1_CK_ECDH_ECDSA_WITH_AES_256_SHA384 0x0300C026 |
421 | #define TLS1_CK_ECDHE_RSA_WITH_AES_128_SHA256 0x0300C027 |
422 | #define TLS1_CK_ECDHE_RSA_WITH_AES_256_SHA384 0x0300C028 |
423 | #define TLS1_CK_ECDH_RSA_WITH_AES_128_SHA256 0x0300C029 |
424 | #define TLS1_CK_ECDH_RSA_WITH_AES_256_SHA384 0x0300C02A |
425 | |
426 | // ECDH GCM based ciphersuites from RFC5289 |
427 | #define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02B |
428 | #define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02C |
429 | #define TLS1_CK_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02D |
430 | #define TLS1_CK_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02E |
431 | #define TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256 0x0300C02F |
432 | #define TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384 0x0300C030 |
433 | #define TLS1_CK_ECDH_RSA_WITH_AES_128_GCM_SHA256 0x0300C031 |
434 | #define TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384 0x0300C032 |
435 | |
436 | // ChaCha20-Poly1305 cipher suites from RFC 7905. |
437 | #define TLS1_CK_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 0x0300CCA8 |
438 | #define TLS1_CK_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 0x0300CCA9 |
439 | #define TLS1_CK_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 0x0300CCAC |
440 | |
441 | // TLS 1.3 ciphersuites from RFC 8446. |
442 | #define TLS1_CK_AES_128_GCM_SHA256 0x03001301 |
443 | #define TLS1_CK_AES_256_GCM_SHA384 0x03001302 |
444 | #define TLS1_CK_CHACHA20_POLY1305_SHA256 0x03001303 |
445 | |
446 | // XXX |
447 | // Inconsistency alert: |
448 | // The OpenSSL names of ciphers with ephemeral DH here include the string |
449 | // "DHE", while elsewhere it has always been "EDH". |
450 | // (The alias for the list of all such ciphers also is "EDH".) |
451 | // The specifications speak of "EDH"; maybe we should allow both forms |
452 | // for everything. |
453 | #define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_MD5 "EXP1024-RC4-MD5" |
454 | #define TLS1_TXT_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 "EXP1024-RC2-CBC-MD5" |
455 | #define TLS1_TXT_RSA_EXPORT1024_WITH_DES_CBC_SHA "EXP1024-DES-CBC-SHA" |
456 | #define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA \ |
457 | "EXP1024-DHE-DSS-DES-CBC-SHA" |
458 | #define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_SHA "EXP1024-RC4-SHA" |
459 | #define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA "EXP1024-DHE-DSS-RC4-SHA" |
460 | #define TLS1_TXT_DHE_DSS_WITH_RC4_128_SHA "DHE-DSS-RC4-SHA" |
461 | |
462 | // AES ciphersuites from RFC3268 |
463 | #define TLS1_TXT_RSA_WITH_AES_128_SHA "AES128-SHA" |
464 | #define TLS1_TXT_DH_DSS_WITH_AES_128_SHA "DH-DSS-AES128-SHA" |
465 | #define TLS1_TXT_DH_RSA_WITH_AES_128_SHA "DH-RSA-AES128-SHA" |
466 | #define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA "DHE-DSS-AES128-SHA" |
467 | #define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA "DHE-RSA-AES128-SHA" |
468 | #define TLS1_TXT_ADH_WITH_AES_128_SHA "ADH-AES128-SHA" |
469 | |
470 | #define TLS1_TXT_RSA_WITH_AES_256_SHA "AES256-SHA" |
471 | #define TLS1_TXT_DH_DSS_WITH_AES_256_SHA "DH-DSS-AES256-SHA" |
472 | #define TLS1_TXT_DH_RSA_WITH_AES_256_SHA "DH-RSA-AES256-SHA" |
473 | #define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA "DHE-DSS-AES256-SHA" |
474 | #define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA "DHE-RSA-AES256-SHA" |
475 | #define TLS1_TXT_ADH_WITH_AES_256_SHA "ADH-AES256-SHA" |
476 | |
477 | // ECC ciphersuites from RFC4492 |
478 | #define TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA "ECDH-ECDSA-NULL-SHA" |
479 | #define TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA "ECDH-ECDSA-RC4-SHA" |
480 | #define TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA "ECDH-ECDSA-DES-CBC3-SHA" |
481 | #define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA "ECDH-ECDSA-AES128-SHA" |
482 | #define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA "ECDH-ECDSA-AES256-SHA" |
483 | |
484 | #define TLS1_TXT_ECDHE_ECDSA_WITH_NULL_SHA "ECDHE-ECDSA-NULL-SHA" |
485 | #define TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA "ECDHE-ECDSA-RC4-SHA" |
486 | #define TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA "ECDHE-ECDSA-DES-CBC3-SHA" |
487 | #define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA "ECDHE-ECDSA-AES128-SHA" |
488 | #define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA "ECDHE-ECDSA-AES256-SHA" |
489 | |
490 | #define TLS1_TXT_ECDH_RSA_WITH_NULL_SHA "ECDH-RSA-NULL-SHA" |
491 | #define TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA "ECDH-RSA-RC4-SHA" |
492 | #define TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA "ECDH-RSA-DES-CBC3-SHA" |
493 | #define TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA "ECDH-RSA-AES128-SHA" |
494 | #define TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA "ECDH-RSA-AES256-SHA" |
495 | |
496 | #define TLS1_TXT_ECDHE_RSA_WITH_NULL_SHA "ECDHE-RSA-NULL-SHA" |
497 | #define TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA "ECDHE-RSA-RC4-SHA" |
498 | #define TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA "ECDHE-RSA-DES-CBC3-SHA" |
499 | #define TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA "ECDHE-RSA-AES128-SHA" |
500 | #define TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA "ECDHE-RSA-AES256-SHA" |
501 | |
502 | #define TLS1_TXT_ECDH_anon_WITH_NULL_SHA "AECDH-NULL-SHA" |
503 | #define TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA "AECDH-RC4-SHA" |
504 | #define TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA "AECDH-DES-CBC3-SHA" |
505 | #define TLS1_TXT_ECDH_anon_WITH_AES_128_CBC_SHA "AECDH-AES128-SHA" |
506 | #define TLS1_TXT_ECDH_anon_WITH_AES_256_CBC_SHA "AECDH-AES256-SHA" |
507 | |
508 | // PSK ciphersuites from RFC 4279 |
509 | #define TLS1_TXT_PSK_WITH_RC4_128_SHA "PSK-RC4-SHA" |
510 | #define TLS1_TXT_PSK_WITH_3DES_EDE_CBC_SHA "PSK-3DES-EDE-CBC-SHA" |
511 | #define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA "PSK-AES128-CBC-SHA" |
512 | #define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA "PSK-AES256-CBC-SHA" |
513 | |
514 | // PSK ciphersuites from RFC 5489 |
515 | #define TLS1_TXT_ECDHE_PSK_WITH_AES_128_CBC_SHA "ECDHE-PSK-AES128-CBC-SHA" |
516 | #define TLS1_TXT_ECDHE_PSK_WITH_AES_256_CBC_SHA "ECDHE-PSK-AES256-CBC-SHA" |
517 | |
518 | // SRP ciphersuite from RFC 5054 |
519 | #define TLS1_TXT_SRP_SHA_WITH_3DES_EDE_CBC_SHA "SRP-3DES-EDE-CBC-SHA" |
520 | #define TLS1_TXT_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA "SRP-RSA-3DES-EDE-CBC-SHA" |
521 | #define TLS1_TXT_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA "SRP-DSS-3DES-EDE-CBC-SHA" |
522 | #define TLS1_TXT_SRP_SHA_WITH_AES_128_CBC_SHA "SRP-AES-128-CBC-SHA" |
523 | #define TLS1_TXT_SRP_SHA_RSA_WITH_AES_128_CBC_SHA "SRP-RSA-AES-128-CBC-SHA" |
524 | #define TLS1_TXT_SRP_SHA_DSS_WITH_AES_128_CBC_SHA "SRP-DSS-AES-128-CBC-SHA" |
525 | #define TLS1_TXT_SRP_SHA_WITH_AES_256_CBC_SHA "SRP-AES-256-CBC-SHA" |
526 | #define TLS1_TXT_SRP_SHA_RSA_WITH_AES_256_CBC_SHA "SRP-RSA-AES-256-CBC-SHA" |
527 | #define TLS1_TXT_SRP_SHA_DSS_WITH_AES_256_CBC_SHA "SRP-DSS-AES-256-CBC-SHA" |
528 | |
529 | // Camellia ciphersuites from RFC4132 |
530 | #define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA "CAMELLIA128-SHA" |
531 | #define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA "DH-DSS-CAMELLIA128-SHA" |
532 | #define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA "DH-RSA-CAMELLIA128-SHA" |
533 | #define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA "DHE-DSS-CAMELLIA128-SHA" |
534 | #define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA "DHE-RSA-CAMELLIA128-SHA" |
535 | #define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA "ADH-CAMELLIA128-SHA" |
536 | |
537 | #define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA "CAMELLIA256-SHA" |
538 | #define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA "DH-DSS-CAMELLIA256-SHA" |
539 | #define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA "DH-RSA-CAMELLIA256-SHA" |
540 | #define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA "DHE-DSS-CAMELLIA256-SHA" |
541 | #define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA "DHE-RSA-CAMELLIA256-SHA" |
542 | #define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA "ADH-CAMELLIA256-SHA" |
543 | |
544 | // SEED ciphersuites from RFC4162 |
545 | #define TLS1_TXT_RSA_WITH_SEED_SHA "SEED-SHA" |
546 | #define TLS1_TXT_DH_DSS_WITH_SEED_SHA "DH-DSS-SEED-SHA" |
547 | #define TLS1_TXT_DH_RSA_WITH_SEED_SHA "DH-RSA-SEED-SHA" |
548 | #define TLS1_TXT_DHE_DSS_WITH_SEED_SHA "DHE-DSS-SEED-SHA" |
549 | #define TLS1_TXT_DHE_RSA_WITH_SEED_SHA "DHE-RSA-SEED-SHA" |
550 | #define TLS1_TXT_ADH_WITH_SEED_SHA "ADH-SEED-SHA" |
551 | |
552 | // TLS v1.2 ciphersuites |
553 | #define TLS1_TXT_RSA_WITH_NULL_SHA256 "NULL-SHA256" |
554 | #define TLS1_TXT_RSA_WITH_AES_128_SHA256 "AES128-SHA256" |
555 | #define TLS1_TXT_RSA_WITH_AES_256_SHA256 "AES256-SHA256" |
556 | #define TLS1_TXT_DH_DSS_WITH_AES_128_SHA256 "DH-DSS-AES128-SHA256" |
557 | #define TLS1_TXT_DH_RSA_WITH_AES_128_SHA256 "DH-RSA-AES128-SHA256" |
558 | #define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA256 "DHE-DSS-AES128-SHA256" |
559 | #define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA256 "DHE-RSA-AES128-SHA256" |
560 | #define TLS1_TXT_DH_DSS_WITH_AES_256_SHA256 "DH-DSS-AES256-SHA256" |
561 | #define TLS1_TXT_DH_RSA_WITH_AES_256_SHA256 "DH-RSA-AES256-SHA256" |
562 | #define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA256 "DHE-DSS-AES256-SHA256" |
563 | #define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256 "DHE-RSA-AES256-SHA256" |
564 | #define TLS1_TXT_ADH_WITH_AES_128_SHA256 "ADH-AES128-SHA256" |
565 | #define TLS1_TXT_ADH_WITH_AES_256_SHA256 "ADH-AES256-SHA256" |
566 | |
567 | // TLS v1.2 GCM ciphersuites from RFC5288 |
568 | #define TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256 "AES128-GCM-SHA256" |
569 | #define TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384 "AES256-GCM-SHA384" |
570 | #define TLS1_TXT_DHE_RSA_WITH_AES_128_GCM_SHA256 "DHE-RSA-AES128-GCM-SHA256" |
571 | #define TLS1_TXT_DHE_RSA_WITH_AES_256_GCM_SHA384 "DHE-RSA-AES256-GCM-SHA384" |
572 | #define TLS1_TXT_DH_RSA_WITH_AES_128_GCM_SHA256 "DH-RSA-AES128-GCM-SHA256" |
573 | #define TLS1_TXT_DH_RSA_WITH_AES_256_GCM_SHA384 "DH-RSA-AES256-GCM-SHA384" |
574 | #define TLS1_TXT_DHE_DSS_WITH_AES_128_GCM_SHA256 "DHE-DSS-AES128-GCM-SHA256" |
575 | #define TLS1_TXT_DHE_DSS_WITH_AES_256_GCM_SHA384 "DHE-DSS-AES256-GCM-SHA384" |
576 | #define TLS1_TXT_DH_DSS_WITH_AES_128_GCM_SHA256 "DH-DSS-AES128-GCM-SHA256" |
577 | #define TLS1_TXT_DH_DSS_WITH_AES_256_GCM_SHA384 "DH-DSS-AES256-GCM-SHA384" |
578 | #define TLS1_TXT_ADH_WITH_AES_128_GCM_SHA256 "ADH-AES128-GCM-SHA256" |
579 | #define TLS1_TXT_ADH_WITH_AES_256_GCM_SHA384 "ADH-AES256-GCM-SHA384" |
580 | |
581 | // ECDH HMAC based ciphersuites from RFC5289 |
582 | |
583 | #define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_SHA256 "ECDHE-ECDSA-AES128-SHA256" |
584 | #define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_SHA384 "ECDHE-ECDSA-AES256-SHA384" |
585 | #define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_SHA256 "ECDH-ECDSA-AES128-SHA256" |
586 | #define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_SHA384 "ECDH-ECDSA-AES256-SHA384" |
587 | #define TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256 "ECDHE-RSA-AES128-SHA256" |
588 | #define TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384 "ECDHE-RSA-AES256-SHA384" |
589 | #define TLS1_TXT_ECDH_RSA_WITH_AES_128_SHA256 "ECDH-RSA-AES128-SHA256" |
590 | #define TLS1_TXT_ECDH_RSA_WITH_AES_256_SHA384 "ECDH-RSA-AES256-SHA384" |
591 | |
592 | // ECDH GCM based ciphersuites from RFC5289 |
593 | #define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 \ |
594 | "ECDHE-ECDSA-AES128-GCM-SHA256" |
595 | #define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 \ |
596 | "ECDHE-ECDSA-AES256-GCM-SHA384" |
597 | #define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 \ |
598 | "ECDH-ECDSA-AES128-GCM-SHA256" |
599 | #define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 \ |
600 | "ECDH-ECDSA-AES256-GCM-SHA384" |
601 | #define TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256 "ECDHE-RSA-AES128-GCM-SHA256" |
602 | #define TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384 "ECDHE-RSA-AES256-GCM-SHA384" |
603 | #define TLS1_TXT_ECDH_RSA_WITH_AES_128_GCM_SHA256 "ECDH-RSA-AES128-GCM-SHA256" |
604 | #define TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384 "ECDH-RSA-AES256-GCM-SHA384" |
605 | |
606 | #define TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 \ |
607 | "ECDHE-RSA-CHACHA20-POLY1305" |
608 | #define TLS1_TXT_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 \ |
609 | "ECDHE-ECDSA-CHACHA20-POLY1305" |
610 | #define TLS1_TXT_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 \ |
611 | "ECDHE-PSK-CHACHA20-POLY1305" |
612 | |
613 | // TLS 1.3 ciphersuites from RFC 8446. |
614 | #define TLS1_TXT_AES_128_GCM_SHA256 "TLS_AES_128_GCM_SHA256" |
615 | #define TLS1_TXT_AES_256_GCM_SHA384 "TLS_AES_256_GCM_SHA384" |
616 | #define TLS1_TXT_CHACHA20_POLY1305_SHA256 "TLS_CHACHA20_POLY1305_SHA256" |
617 | |
618 | |
619 | #define TLS_CT_RSA_SIGN 1 |
620 | #define TLS_CT_DSS_SIGN 2 |
621 | #define TLS_CT_RSA_FIXED_DH 3 |
622 | #define TLS_CT_DSS_FIXED_DH 4 |
623 | #define TLS_CT_ECDSA_SIGN 64 |
624 | #define TLS_CT_RSA_FIXED_ECDH 65 |
625 | #define TLS_CT_ECDSA_FIXED_ECDH 66 |
626 | |
627 | #define TLS_MD_MAX_CONST_SIZE 20 |
628 | |
629 | |
630 | #ifdef __cplusplus |
631 | } // extern C |
632 | #endif |
633 | |
634 | #endif // OPENSSL_HEADER_TLS1_H |
635 | |