1*6236dae4SAndroid Build Coastguard Worker /***************************************************************************
2*6236dae4SAndroid Build Coastguard Worker * _ _ ____ _
3*6236dae4SAndroid Build Coastguard Worker * Project ___| | | | _ \| |
4*6236dae4SAndroid Build Coastguard Worker * / __| | | | |_) | |
5*6236dae4SAndroid Build Coastguard Worker * | (__| |_| | _ <| |___
6*6236dae4SAndroid Build Coastguard Worker * \___|\___/|_| \_\_____|
7*6236dae4SAndroid Build Coastguard Worker *
8*6236dae4SAndroid Build Coastguard Worker * Copyright (C) Jan Venekamp, <[email protected]>
9*6236dae4SAndroid Build Coastguard Worker *
10*6236dae4SAndroid Build Coastguard Worker * This software is licensed as described in the file COPYING, which
11*6236dae4SAndroid Build Coastguard Worker * you should have received as part of this distribution. The terms
12*6236dae4SAndroid Build Coastguard Worker * are also available at https://curl.se/docs/copyright.html.
13*6236dae4SAndroid Build Coastguard Worker *
14*6236dae4SAndroid Build Coastguard Worker * You may opt to use, copy, modify, merge, publish, distribute and/or sell
15*6236dae4SAndroid Build Coastguard Worker * copies of the Software, and permit persons to whom the Software is
16*6236dae4SAndroid Build Coastguard Worker * furnished to do so, under the terms of the COPYING file.
17*6236dae4SAndroid Build Coastguard Worker *
18*6236dae4SAndroid Build Coastguard Worker * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19*6236dae4SAndroid Build Coastguard Worker * KIND, either express or implied.
20*6236dae4SAndroid Build Coastguard Worker *
21*6236dae4SAndroid Build Coastguard Worker * SPDX-License-Identifier: curl
22*6236dae4SAndroid Build Coastguard Worker *
23*6236dae4SAndroid Build Coastguard Worker ***************************************************************************/
24*6236dae4SAndroid Build Coastguard Worker #include "curlcheck.h"
25*6236dae4SAndroid Build Coastguard Worker
26*6236dae4SAndroid Build Coastguard Worker #include "vtls/cipher_suite.h"
27*6236dae4SAndroid Build Coastguard Worker
unit_setup(void)28*6236dae4SAndroid Build Coastguard Worker static CURLcode unit_setup(void)
29*6236dae4SAndroid Build Coastguard Worker {
30*6236dae4SAndroid Build Coastguard Worker return CURLE_OK;
31*6236dae4SAndroid Build Coastguard Worker }
32*6236dae4SAndroid Build Coastguard Worker
unit_stop(void)33*6236dae4SAndroid Build Coastguard Worker static void unit_stop(void)
34*6236dae4SAndroid Build Coastguard Worker {
35*6236dae4SAndroid Build Coastguard Worker }
36*6236dae4SAndroid Build Coastguard Worker
37*6236dae4SAndroid Build Coastguard Worker #if defined(USE_SECTRANSP) || defined(USE_MBEDTLS) || \
38*6236dae4SAndroid Build Coastguard Worker defined(USE_BEARSSL) || defined(USE_RUSTLS)
39*6236dae4SAndroid Build Coastguard Worker
40*6236dae4SAndroid Build Coastguard Worker struct test_cs_entry {
41*6236dae4SAndroid Build Coastguard Worker uint16_t id;
42*6236dae4SAndroid Build Coastguard Worker const char *rfc;
43*6236dae4SAndroid Build Coastguard Worker const char *openssl;
44*6236dae4SAndroid Build Coastguard Worker };
45*6236dae4SAndroid Build Coastguard Worker static const struct test_cs_entry test_cs_list[] = {
46*6236dae4SAndroid Build Coastguard Worker #if defined(USE_SECTRANSP) || defined(USE_MBEDTLS) || defined(USE_RUSTLS)
47*6236dae4SAndroid Build Coastguard Worker { 0x1301, "TLS_AES_128_GCM_SHA256",
48*6236dae4SAndroid Build Coastguard Worker NULL },
49*6236dae4SAndroid Build Coastguard Worker { 0x1302, "TLS_AES_256_GCM_SHA384",
50*6236dae4SAndroid Build Coastguard Worker NULL },
51*6236dae4SAndroid Build Coastguard Worker { 0x1303, "TLS_CHACHA20_POLY1305_SHA256",
52*6236dae4SAndroid Build Coastguard Worker NULL },
53*6236dae4SAndroid Build Coastguard Worker { 0x1304, "TLS_AES_128_CCM_SHA256",
54*6236dae4SAndroid Build Coastguard Worker NULL },
55*6236dae4SAndroid Build Coastguard Worker { 0x1305, "TLS_AES_128_CCM_8_SHA256",
56*6236dae4SAndroid Build Coastguard Worker NULL },
57*6236dae4SAndroid Build Coastguard Worker #endif
58*6236dae4SAndroid Build Coastguard Worker { 0xC02B, "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
59*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-AES128-GCM-SHA256" },
60*6236dae4SAndroid Build Coastguard Worker { 0xC02C, "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
61*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-AES256-GCM-SHA384" },
62*6236dae4SAndroid Build Coastguard Worker { 0xC02F, "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
63*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-AES128-GCM-SHA256" },
64*6236dae4SAndroid Build Coastguard Worker { 0xC030, "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
65*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-AES256-GCM-SHA384" },
66*6236dae4SAndroid Build Coastguard Worker { 0xCCA8, "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
67*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-CHACHA20-POLY1305" },
68*6236dae4SAndroid Build Coastguard Worker { 0xCCA9, "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
69*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-CHACHA20-POLY1305" },
70*6236dae4SAndroid Build Coastguard Worker #if defined(USE_SECTRANSP) || defined(USE_MBEDTLS) || defined(USE_BEARSSL)
71*6236dae4SAndroid Build Coastguard Worker { 0x002F, "TLS_RSA_WITH_AES_128_CBC_SHA",
72*6236dae4SAndroid Build Coastguard Worker "AES128-SHA" },
73*6236dae4SAndroid Build Coastguard Worker { 0x0035, "TLS_RSA_WITH_AES_256_CBC_SHA",
74*6236dae4SAndroid Build Coastguard Worker "AES256-SHA" },
75*6236dae4SAndroid Build Coastguard Worker { 0x003C, "TLS_RSA_WITH_AES_128_CBC_SHA256",
76*6236dae4SAndroid Build Coastguard Worker "AES128-SHA256" },
77*6236dae4SAndroid Build Coastguard Worker { 0x003D, "TLS_RSA_WITH_AES_256_CBC_SHA256",
78*6236dae4SAndroid Build Coastguard Worker "AES256-SHA256" },
79*6236dae4SAndroid Build Coastguard Worker { 0x009C, "TLS_RSA_WITH_AES_128_GCM_SHA256",
80*6236dae4SAndroid Build Coastguard Worker "AES128-GCM-SHA256" },
81*6236dae4SAndroid Build Coastguard Worker { 0x009D, "TLS_RSA_WITH_AES_256_GCM_SHA384",
82*6236dae4SAndroid Build Coastguard Worker "AES256-GCM-SHA384" },
83*6236dae4SAndroid Build Coastguard Worker { 0xC004, "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA",
84*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-AES128-SHA" },
85*6236dae4SAndroid Build Coastguard Worker { 0xC005, "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA",
86*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-AES256-SHA" },
87*6236dae4SAndroid Build Coastguard Worker { 0xC009, "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
88*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-AES128-SHA" },
89*6236dae4SAndroid Build Coastguard Worker { 0xC00A, "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
90*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-AES256-SHA" },
91*6236dae4SAndroid Build Coastguard Worker { 0xC00E, "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA",
92*6236dae4SAndroid Build Coastguard Worker "ECDH-RSA-AES128-SHA" },
93*6236dae4SAndroid Build Coastguard Worker { 0xC00F, "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA",
94*6236dae4SAndroid Build Coastguard Worker "ECDH-RSA-AES256-SHA" },
95*6236dae4SAndroid Build Coastguard Worker { 0xC013, "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
96*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-AES128-SHA" },
97*6236dae4SAndroid Build Coastguard Worker { 0xC014, "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
98*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-AES256-SHA" },
99*6236dae4SAndroid Build Coastguard Worker { 0xC023, "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
100*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-AES128-SHA256" },
101*6236dae4SAndroid Build Coastguard Worker { 0xC024, "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
102*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-AES256-SHA384" },
103*6236dae4SAndroid Build Coastguard Worker { 0xC025, "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256",
104*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-AES128-SHA256" },
105*6236dae4SAndroid Build Coastguard Worker { 0xC026, "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384",
106*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-AES256-SHA384" },
107*6236dae4SAndroid Build Coastguard Worker { 0xC027, "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
108*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-AES128-SHA256" },
109*6236dae4SAndroid Build Coastguard Worker { 0xC028, "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
110*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-AES256-SHA384" },
111*6236dae4SAndroid Build Coastguard Worker { 0xC029, "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256",
112*6236dae4SAndroid Build Coastguard Worker "ECDH-RSA-AES128-SHA256" },
113*6236dae4SAndroid Build Coastguard Worker { 0xC02A, "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384",
114*6236dae4SAndroid Build Coastguard Worker "ECDH-RSA-AES256-SHA384" },
115*6236dae4SAndroid Build Coastguard Worker { 0xC02D, "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256",
116*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-AES128-GCM-SHA256" },
117*6236dae4SAndroid Build Coastguard Worker { 0xC02E, "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384",
118*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-AES256-GCM-SHA384" },
119*6236dae4SAndroid Build Coastguard Worker { 0xC031, "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256",
120*6236dae4SAndroid Build Coastguard Worker "ECDH-RSA-AES128-GCM-SHA256" },
121*6236dae4SAndroid Build Coastguard Worker { 0xC032, "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384",
122*6236dae4SAndroid Build Coastguard Worker "ECDH-RSA-AES256-GCM-SHA384" },
123*6236dae4SAndroid Build Coastguard Worker #endif
124*6236dae4SAndroid Build Coastguard Worker #if defined(USE_SECTRANSP) || defined(USE_MBEDTLS)
125*6236dae4SAndroid Build Coastguard Worker { 0x0001, "TLS_RSA_WITH_NULL_MD5",
126*6236dae4SAndroid Build Coastguard Worker "NULL-MD5" },
127*6236dae4SAndroid Build Coastguard Worker { 0x0002, "TLS_RSA_WITH_NULL_SHA",
128*6236dae4SAndroid Build Coastguard Worker "NULL-SHA" },
129*6236dae4SAndroid Build Coastguard Worker { 0x002C, "TLS_PSK_WITH_NULL_SHA",
130*6236dae4SAndroid Build Coastguard Worker "PSK-NULL-SHA" },
131*6236dae4SAndroid Build Coastguard Worker { 0x002D, "TLS_DHE_PSK_WITH_NULL_SHA",
132*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-NULL-SHA" },
133*6236dae4SAndroid Build Coastguard Worker { 0x002E, "TLS_RSA_PSK_WITH_NULL_SHA",
134*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-NULL-SHA" },
135*6236dae4SAndroid Build Coastguard Worker { 0x0033, "TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
136*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-AES128-SHA" },
137*6236dae4SAndroid Build Coastguard Worker { 0x0039, "TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
138*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-AES256-SHA" },
139*6236dae4SAndroid Build Coastguard Worker { 0x003B, "TLS_RSA_WITH_NULL_SHA256",
140*6236dae4SAndroid Build Coastguard Worker "NULL-SHA256" },
141*6236dae4SAndroid Build Coastguard Worker { 0x0067, "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
142*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-AES128-SHA256" },
143*6236dae4SAndroid Build Coastguard Worker { 0x006B, "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
144*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-AES256-SHA256" },
145*6236dae4SAndroid Build Coastguard Worker { 0x008C, "TLS_PSK_WITH_AES_128_CBC_SHA",
146*6236dae4SAndroid Build Coastguard Worker "PSK-AES128-CBC-SHA" },
147*6236dae4SAndroid Build Coastguard Worker { 0x008D, "TLS_PSK_WITH_AES_256_CBC_SHA",
148*6236dae4SAndroid Build Coastguard Worker "PSK-AES256-CBC-SHA" },
149*6236dae4SAndroid Build Coastguard Worker { 0x0090, "TLS_DHE_PSK_WITH_AES_128_CBC_SHA",
150*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-AES128-CBC-SHA" },
151*6236dae4SAndroid Build Coastguard Worker { 0x0091, "TLS_DHE_PSK_WITH_AES_256_CBC_SHA",
152*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-AES256-CBC-SHA" },
153*6236dae4SAndroid Build Coastguard Worker { 0x0094, "TLS_RSA_PSK_WITH_AES_128_CBC_SHA",
154*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-AES128-CBC-SHA" },
155*6236dae4SAndroid Build Coastguard Worker { 0x0095, "TLS_RSA_PSK_WITH_AES_256_CBC_SHA",
156*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-AES256-CBC-SHA" },
157*6236dae4SAndroid Build Coastguard Worker { 0x009E, "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
158*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-AES128-GCM-SHA256" },
159*6236dae4SAndroid Build Coastguard Worker { 0x009F, "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
160*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-AES256-GCM-SHA384" },
161*6236dae4SAndroid Build Coastguard Worker { 0x00A8, "TLS_PSK_WITH_AES_128_GCM_SHA256",
162*6236dae4SAndroid Build Coastguard Worker "PSK-AES128-GCM-SHA256" },
163*6236dae4SAndroid Build Coastguard Worker { 0x00A9, "TLS_PSK_WITH_AES_256_GCM_SHA384",
164*6236dae4SAndroid Build Coastguard Worker "PSK-AES256-GCM-SHA384" },
165*6236dae4SAndroid Build Coastguard Worker { 0x00AA, "TLS_DHE_PSK_WITH_AES_128_GCM_SHA256",
166*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-AES128-GCM-SHA256" },
167*6236dae4SAndroid Build Coastguard Worker { 0x00AB, "TLS_DHE_PSK_WITH_AES_256_GCM_SHA384",
168*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-AES256-GCM-SHA384" },
169*6236dae4SAndroid Build Coastguard Worker { 0x00AC, "TLS_RSA_PSK_WITH_AES_128_GCM_SHA256",
170*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-AES128-GCM-SHA256" },
171*6236dae4SAndroid Build Coastguard Worker { 0x00AD, "TLS_RSA_PSK_WITH_AES_256_GCM_SHA384",
172*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-AES256-GCM-SHA384" },
173*6236dae4SAndroid Build Coastguard Worker { 0x00AE, "TLS_PSK_WITH_AES_128_CBC_SHA256",
174*6236dae4SAndroid Build Coastguard Worker "PSK-AES128-CBC-SHA256" },
175*6236dae4SAndroid Build Coastguard Worker { 0x00AF, "TLS_PSK_WITH_AES_256_CBC_SHA384",
176*6236dae4SAndroid Build Coastguard Worker "PSK-AES256-CBC-SHA384" },
177*6236dae4SAndroid Build Coastguard Worker { 0x00B0, "TLS_PSK_WITH_NULL_SHA256",
178*6236dae4SAndroid Build Coastguard Worker "PSK-NULL-SHA256" },
179*6236dae4SAndroid Build Coastguard Worker { 0x00B1, "TLS_PSK_WITH_NULL_SHA384",
180*6236dae4SAndroid Build Coastguard Worker "PSK-NULL-SHA384" },
181*6236dae4SAndroid Build Coastguard Worker { 0x00B2, "TLS_DHE_PSK_WITH_AES_128_CBC_SHA256",
182*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-AES128-CBC-SHA256" },
183*6236dae4SAndroid Build Coastguard Worker { 0x00B3, "TLS_DHE_PSK_WITH_AES_256_CBC_SHA384",
184*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-AES256-CBC-SHA384" },
185*6236dae4SAndroid Build Coastguard Worker { 0x00B4, "TLS_DHE_PSK_WITH_NULL_SHA256",
186*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-NULL-SHA256" },
187*6236dae4SAndroid Build Coastguard Worker { 0x00B5, "TLS_DHE_PSK_WITH_NULL_SHA384",
188*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-NULL-SHA384" },
189*6236dae4SAndroid Build Coastguard Worker { 0x00B6, "TLS_RSA_PSK_WITH_AES_128_CBC_SHA256",
190*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-AES128-CBC-SHA256" },
191*6236dae4SAndroid Build Coastguard Worker { 0x00B7, "TLS_RSA_PSK_WITH_AES_256_CBC_SHA384",
192*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-AES256-CBC-SHA384" },
193*6236dae4SAndroid Build Coastguard Worker { 0x00B8, "TLS_RSA_PSK_WITH_NULL_SHA256",
194*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-NULL-SHA256" },
195*6236dae4SAndroid Build Coastguard Worker { 0x00B9, "TLS_RSA_PSK_WITH_NULL_SHA384",
196*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-NULL-SHA384" },
197*6236dae4SAndroid Build Coastguard Worker { 0xC001, "TLS_ECDH_ECDSA_WITH_NULL_SHA",
198*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-NULL-SHA" },
199*6236dae4SAndroid Build Coastguard Worker { 0xC006, "TLS_ECDHE_ECDSA_WITH_NULL_SHA",
200*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-NULL-SHA" },
201*6236dae4SAndroid Build Coastguard Worker { 0xC00B, "TLS_ECDH_RSA_WITH_NULL_SHA",
202*6236dae4SAndroid Build Coastguard Worker "ECDH-RSA-NULL-SHA" },
203*6236dae4SAndroid Build Coastguard Worker { 0xC010, "TLS_ECDHE_RSA_WITH_NULL_SHA",
204*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-NULL-SHA" },
205*6236dae4SAndroid Build Coastguard Worker { 0xC035, "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA",
206*6236dae4SAndroid Build Coastguard Worker "ECDHE-PSK-AES128-CBC-SHA" },
207*6236dae4SAndroid Build Coastguard Worker { 0xC036, "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA",
208*6236dae4SAndroid Build Coastguard Worker "ECDHE-PSK-AES256-CBC-SHA" },
209*6236dae4SAndroid Build Coastguard Worker { 0xCCAB, "TLS_PSK_WITH_CHACHA20_POLY1305_SHA256",
210*6236dae4SAndroid Build Coastguard Worker "PSK-CHACHA20-POLY1305" },
211*6236dae4SAndroid Build Coastguard Worker #endif
212*6236dae4SAndroid Build Coastguard Worker #if defined(USE_SECTRANSP) || defined(USE_BEARSSL)
213*6236dae4SAndroid Build Coastguard Worker { 0x000A, "TLS_RSA_WITH_3DES_EDE_CBC_SHA",
214*6236dae4SAndroid Build Coastguard Worker "DES-CBC3-SHA" },
215*6236dae4SAndroid Build Coastguard Worker { 0xC003, "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA",
216*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-DES-CBC3-SHA" },
217*6236dae4SAndroid Build Coastguard Worker { 0xC008, "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA",
218*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-DES-CBC3-SHA" },
219*6236dae4SAndroid Build Coastguard Worker { 0xC00D, "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA",
220*6236dae4SAndroid Build Coastguard Worker "ECDH-RSA-DES-CBC3-SHA" },
221*6236dae4SAndroid Build Coastguard Worker { 0xC012, "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",
222*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-DES-CBC3-SHA" },
223*6236dae4SAndroid Build Coastguard Worker #endif
224*6236dae4SAndroid Build Coastguard Worker #if defined(USE_MBEDTLS) || defined(USE_BEARSSL)
225*6236dae4SAndroid Build Coastguard Worker { 0xC09C, "TLS_RSA_WITH_AES_128_CCM",
226*6236dae4SAndroid Build Coastguard Worker "AES128-CCM" },
227*6236dae4SAndroid Build Coastguard Worker { 0xC09D, "TLS_RSA_WITH_AES_256_CCM",
228*6236dae4SAndroid Build Coastguard Worker "AES256-CCM" },
229*6236dae4SAndroid Build Coastguard Worker { 0xC0A0, "TLS_RSA_WITH_AES_128_CCM_8",
230*6236dae4SAndroid Build Coastguard Worker "AES128-CCM8" },
231*6236dae4SAndroid Build Coastguard Worker { 0xC0A1, "TLS_RSA_WITH_AES_256_CCM_8",
232*6236dae4SAndroid Build Coastguard Worker "AES256-CCM8" },
233*6236dae4SAndroid Build Coastguard Worker { 0xC0AC, "TLS_ECDHE_ECDSA_WITH_AES_128_CCM",
234*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-AES128-CCM" },
235*6236dae4SAndroid Build Coastguard Worker { 0xC0AD, "TLS_ECDHE_ECDSA_WITH_AES_256_CCM",
236*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-AES256-CCM" },
237*6236dae4SAndroid Build Coastguard Worker { 0xC0AE, "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8",
238*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-AES128-CCM8" },
239*6236dae4SAndroid Build Coastguard Worker { 0xC0AF, "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8",
240*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-AES256-CCM8" },
241*6236dae4SAndroid Build Coastguard Worker #endif
242*6236dae4SAndroid Build Coastguard Worker #if defined(USE_SECTRANSP)
243*6236dae4SAndroid Build Coastguard Worker { 0x0003, "TLS_RSA_EXPORT_WITH_RC4_40_MD5",
244*6236dae4SAndroid Build Coastguard Worker "EXP-RC4-MD5" },
245*6236dae4SAndroid Build Coastguard Worker { 0x0004, "TLS_RSA_WITH_RC4_128_MD5",
246*6236dae4SAndroid Build Coastguard Worker "RC4-MD5" },
247*6236dae4SAndroid Build Coastguard Worker { 0x0005, "TLS_RSA_WITH_RC4_128_SHA",
248*6236dae4SAndroid Build Coastguard Worker "RC4-SHA" },
249*6236dae4SAndroid Build Coastguard Worker { 0x0006, "TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5",
250*6236dae4SAndroid Build Coastguard Worker "EXP-RC2-CBC-MD5" },
251*6236dae4SAndroid Build Coastguard Worker { 0x0007, "TLS_RSA_WITH_IDEA_CBC_SHA",
252*6236dae4SAndroid Build Coastguard Worker "IDEA-CBC-SHA" },
253*6236dae4SAndroid Build Coastguard Worker { 0x0008, "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA",
254*6236dae4SAndroid Build Coastguard Worker "EXP-DES-CBC-SHA" },
255*6236dae4SAndroid Build Coastguard Worker { 0x0009, "TLS_RSA_WITH_DES_CBC_SHA",
256*6236dae4SAndroid Build Coastguard Worker "DES-CBC-SHA" },
257*6236dae4SAndroid Build Coastguard Worker { 0x000B, "TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA",
258*6236dae4SAndroid Build Coastguard Worker "EXP-DH-DSS-DES-CBC-SHA" },
259*6236dae4SAndroid Build Coastguard Worker { 0x000C, "TLS_DH_DSS_WITH_DES_CBC_SHA",
260*6236dae4SAndroid Build Coastguard Worker "DH-DSS-DES-CBC-SHA" },
261*6236dae4SAndroid Build Coastguard Worker { 0x000D, "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA",
262*6236dae4SAndroid Build Coastguard Worker "DH-DSS-DES-CBC3-SHA" },
263*6236dae4SAndroid Build Coastguard Worker { 0x000E, "TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA",
264*6236dae4SAndroid Build Coastguard Worker "EXP-DH-RSA-DES-CBC-SHA" },
265*6236dae4SAndroid Build Coastguard Worker { 0x000F, "TLS_DH_RSA_WITH_DES_CBC_SHA",
266*6236dae4SAndroid Build Coastguard Worker "DH-RSA-DES-CBC-SHA" },
267*6236dae4SAndroid Build Coastguard Worker { 0x0010, "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA",
268*6236dae4SAndroid Build Coastguard Worker "DH-RSA-DES-CBC3-SHA" },
269*6236dae4SAndroid Build Coastguard Worker { 0x0011, "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",
270*6236dae4SAndroid Build Coastguard Worker "EXP-DHE-DSS-DES-CBC-SHA" },
271*6236dae4SAndroid Build Coastguard Worker { 0x0012, "TLS_DHE_DSS_WITH_DES_CBC_SHA",
272*6236dae4SAndroid Build Coastguard Worker "DHE-DSS-DES-CBC-SHA" },
273*6236dae4SAndroid Build Coastguard Worker { 0x0013, "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
274*6236dae4SAndroid Build Coastguard Worker "DHE-DSS-DES-CBC3-SHA" },
275*6236dae4SAndroid Build Coastguard Worker { 0x0014, "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
276*6236dae4SAndroid Build Coastguard Worker "EXP-DHE-RSA-DES-CBC-SHA" },
277*6236dae4SAndroid Build Coastguard Worker { 0x0015, "TLS_DHE_RSA_WITH_DES_CBC_SHA",
278*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-DES-CBC-SHA" },
279*6236dae4SAndroid Build Coastguard Worker { 0x0016, "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
280*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-DES-CBC3-SHA" },
281*6236dae4SAndroid Build Coastguard Worker { 0x0017, "TLS_DH_anon_EXPORT_WITH_RC4_40_MD5",
282*6236dae4SAndroid Build Coastguard Worker "EXP-ADH-RC4-MD5" },
283*6236dae4SAndroid Build Coastguard Worker { 0x0018, "TLS_DH_anon_WITH_RC4_128_MD5",
284*6236dae4SAndroid Build Coastguard Worker "ADH-RC4-MD5" },
285*6236dae4SAndroid Build Coastguard Worker { 0x0019, "TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA",
286*6236dae4SAndroid Build Coastguard Worker "EXP-ADH-DES-CBC-SHA" },
287*6236dae4SAndroid Build Coastguard Worker { 0x001A, "TLS_DH_anon_WITH_DES_CBC_SHA",
288*6236dae4SAndroid Build Coastguard Worker "ADH-DES-CBC-SHA" },
289*6236dae4SAndroid Build Coastguard Worker { 0x001B, "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA",
290*6236dae4SAndroid Build Coastguard Worker "ADH-DES-CBC3-SHA" },
291*6236dae4SAndroid Build Coastguard Worker { 0x0030, "TLS_DH_DSS_WITH_AES_128_CBC_SHA",
292*6236dae4SAndroid Build Coastguard Worker "DH-DSS-AES128-SHA" },
293*6236dae4SAndroid Build Coastguard Worker { 0x0031, "TLS_DH_RSA_WITH_AES_128_CBC_SHA",
294*6236dae4SAndroid Build Coastguard Worker "DH-RSA-AES128-SHA" },
295*6236dae4SAndroid Build Coastguard Worker { 0x0032, "TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
296*6236dae4SAndroid Build Coastguard Worker "DHE-DSS-AES128-SHA" },
297*6236dae4SAndroid Build Coastguard Worker { 0x0034, "TLS_DH_anon_WITH_AES_128_CBC_SHA",
298*6236dae4SAndroid Build Coastguard Worker "ADH-AES128-SHA" },
299*6236dae4SAndroid Build Coastguard Worker { 0x0036, "TLS_DH_DSS_WITH_AES_256_CBC_SHA",
300*6236dae4SAndroid Build Coastguard Worker "DH-DSS-AES256-SHA" },
301*6236dae4SAndroid Build Coastguard Worker { 0x0037, "TLS_DH_RSA_WITH_AES_256_CBC_SHA",
302*6236dae4SAndroid Build Coastguard Worker "DH-RSA-AES256-SHA" },
303*6236dae4SAndroid Build Coastguard Worker { 0x0038, "TLS_DHE_DSS_WITH_AES_256_CBC_SHA",
304*6236dae4SAndroid Build Coastguard Worker "DHE-DSS-AES256-SHA" },
305*6236dae4SAndroid Build Coastguard Worker { 0x003A, "TLS_DH_anon_WITH_AES_256_CBC_SHA",
306*6236dae4SAndroid Build Coastguard Worker "ADH-AES256-SHA" },
307*6236dae4SAndroid Build Coastguard Worker { 0x003E, "TLS_DH_DSS_WITH_AES_128_CBC_SHA256",
308*6236dae4SAndroid Build Coastguard Worker "DH-DSS-AES128-SHA256" },
309*6236dae4SAndroid Build Coastguard Worker { 0x003F, "TLS_DH_RSA_WITH_AES_128_CBC_SHA256",
310*6236dae4SAndroid Build Coastguard Worker "DH-RSA-AES128-SHA256" },
311*6236dae4SAndroid Build Coastguard Worker { 0x0040, "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256",
312*6236dae4SAndroid Build Coastguard Worker "DHE-DSS-AES128-SHA256" },
313*6236dae4SAndroid Build Coastguard Worker { 0x0068, "TLS_DH_DSS_WITH_AES_256_CBC_SHA256",
314*6236dae4SAndroid Build Coastguard Worker "DH-DSS-AES256-SHA256" },
315*6236dae4SAndroid Build Coastguard Worker { 0x0069, "TLS_DH_RSA_WITH_AES_256_CBC_SHA256",
316*6236dae4SAndroid Build Coastguard Worker "DH-RSA-AES256-SHA256" },
317*6236dae4SAndroid Build Coastguard Worker { 0x006A, "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256",
318*6236dae4SAndroid Build Coastguard Worker "DHE-DSS-AES256-SHA256" },
319*6236dae4SAndroid Build Coastguard Worker { 0x006C, "TLS_DH_anon_WITH_AES_128_CBC_SHA256",
320*6236dae4SAndroid Build Coastguard Worker "ADH-AES128-SHA256" },
321*6236dae4SAndroid Build Coastguard Worker { 0x006D, "TLS_DH_anon_WITH_AES_256_CBC_SHA256",
322*6236dae4SAndroid Build Coastguard Worker "ADH-AES256-SHA256" },
323*6236dae4SAndroid Build Coastguard Worker { 0x008A, "TLS_PSK_WITH_RC4_128_SHA",
324*6236dae4SAndroid Build Coastguard Worker "PSK-RC4-SHA" },
325*6236dae4SAndroid Build Coastguard Worker { 0x008B, "TLS_PSK_WITH_3DES_EDE_CBC_SHA",
326*6236dae4SAndroid Build Coastguard Worker "PSK-3DES-EDE-CBC-SHA" },
327*6236dae4SAndroid Build Coastguard Worker { 0x008E, "TLS_DHE_PSK_WITH_RC4_128_SHA",
328*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-RC4-SHA" },
329*6236dae4SAndroid Build Coastguard Worker { 0x008F, "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA",
330*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-3DES-EDE-CBC-SHA" },
331*6236dae4SAndroid Build Coastguard Worker { 0x0092, "TLS_RSA_PSK_WITH_RC4_128_SHA",
332*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-RC4-SHA" },
333*6236dae4SAndroid Build Coastguard Worker { 0x0093, "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA",
334*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-3DES-EDE-CBC-SHA" },
335*6236dae4SAndroid Build Coastguard Worker { 0x00A0, "TLS_DH_RSA_WITH_AES_128_GCM_SHA256",
336*6236dae4SAndroid Build Coastguard Worker "DH-RSA-AES128-GCM-SHA256" },
337*6236dae4SAndroid Build Coastguard Worker { 0x00A1, "TLS_DH_RSA_WITH_AES_256_GCM_SHA384",
338*6236dae4SAndroid Build Coastguard Worker "DH-RSA-AES256-GCM-SHA384" },
339*6236dae4SAndroid Build Coastguard Worker { 0x00A2, "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256",
340*6236dae4SAndroid Build Coastguard Worker "DHE-DSS-AES128-GCM-SHA256" },
341*6236dae4SAndroid Build Coastguard Worker { 0x00A3, "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384",
342*6236dae4SAndroid Build Coastguard Worker "DHE-DSS-AES256-GCM-SHA384" },
343*6236dae4SAndroid Build Coastguard Worker { 0x00A4, "TLS_DH_DSS_WITH_AES_128_GCM_SHA256",
344*6236dae4SAndroid Build Coastguard Worker "DH-DSS-AES128-GCM-SHA256" },
345*6236dae4SAndroid Build Coastguard Worker { 0x00A5, "TLS_DH_DSS_WITH_AES_256_GCM_SHA384",
346*6236dae4SAndroid Build Coastguard Worker "DH-DSS-AES256-GCM-SHA384" },
347*6236dae4SAndroid Build Coastguard Worker { 0x00A6, "TLS_DH_anon_WITH_AES_128_GCM_SHA256",
348*6236dae4SAndroid Build Coastguard Worker "ADH-AES128-GCM-SHA256" },
349*6236dae4SAndroid Build Coastguard Worker { 0x00A7, "TLS_DH_anon_WITH_AES_256_GCM_SHA384",
350*6236dae4SAndroid Build Coastguard Worker "ADH-AES256-GCM-SHA384" },
351*6236dae4SAndroid Build Coastguard Worker { 0xC002, "TLS_ECDH_ECDSA_WITH_RC4_128_SHA",
352*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-RC4-SHA" },
353*6236dae4SAndroid Build Coastguard Worker { 0xC007, "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA",
354*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-RC4-SHA" },
355*6236dae4SAndroid Build Coastguard Worker { 0xC00C, "TLS_ECDH_RSA_WITH_RC4_128_SHA",
356*6236dae4SAndroid Build Coastguard Worker "ECDH-RSA-RC4-SHA" },
357*6236dae4SAndroid Build Coastguard Worker { 0xC011, "TLS_ECDHE_RSA_WITH_RC4_128_SHA",
358*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-RC4-SHA" },
359*6236dae4SAndroid Build Coastguard Worker { 0xC015, "TLS_ECDH_anon_WITH_NULL_SHA",
360*6236dae4SAndroid Build Coastguard Worker "AECDH-NULL-SHA" },
361*6236dae4SAndroid Build Coastguard Worker { 0xC016, "TLS_ECDH_anon_WITH_RC4_128_SHA",
362*6236dae4SAndroid Build Coastguard Worker "AECDH-RC4-SHA" },
363*6236dae4SAndroid Build Coastguard Worker { 0xC017, "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA",
364*6236dae4SAndroid Build Coastguard Worker "AECDH-DES-CBC3-SHA" },
365*6236dae4SAndroid Build Coastguard Worker { 0xC018, "TLS_ECDH_anon_WITH_AES_128_CBC_SHA",
366*6236dae4SAndroid Build Coastguard Worker "AECDH-AES128-SHA" },
367*6236dae4SAndroid Build Coastguard Worker { 0xC019, "TLS_ECDH_anon_WITH_AES_256_CBC_SHA",
368*6236dae4SAndroid Build Coastguard Worker "AECDH-AES256-SHA" },
369*6236dae4SAndroid Build Coastguard Worker /* Backward compatible aliases (EDH vs DHE) */
370*6236dae4SAndroid Build Coastguard Worker { 0x0011, "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",
371*6236dae4SAndroid Build Coastguard Worker "EXP-EDH-DSS-DES-CBC-SHA" },
372*6236dae4SAndroid Build Coastguard Worker { 0x0012, "TLS_DHE_DSS_WITH_DES_CBC_SHA",
373*6236dae4SAndroid Build Coastguard Worker "EDH-DSS-DES-CBC-SHA" },
374*6236dae4SAndroid Build Coastguard Worker { 0x0013, "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
375*6236dae4SAndroid Build Coastguard Worker "EDH-DSS-DES-CBC3-SHA" },
376*6236dae4SAndroid Build Coastguard Worker { 0x0014, "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
377*6236dae4SAndroid Build Coastguard Worker "EXP-EDH-RSA-DES-CBC-SHA" },
378*6236dae4SAndroid Build Coastguard Worker { 0x0015, "TLS_DHE_RSA_WITH_DES_CBC_SHA",
379*6236dae4SAndroid Build Coastguard Worker "EDH-RSA-DES-CBC-SHA" },
380*6236dae4SAndroid Build Coastguard Worker { 0x0016, "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
381*6236dae4SAndroid Build Coastguard Worker "EDH-RSA-DES-CBC3-SHA" },
382*6236dae4SAndroid Build Coastguard Worker #endif
383*6236dae4SAndroid Build Coastguard Worker #if defined(USE_MBEDTLS)
384*6236dae4SAndroid Build Coastguard Worker /* entries marked ns are non-"standard", they are not in OpenSSL */
385*6236dae4SAndroid Build Coastguard Worker { 0x0041, "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA",
386*6236dae4SAndroid Build Coastguard Worker "CAMELLIA128-SHA" },
387*6236dae4SAndroid Build Coastguard Worker { 0x0045, "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA",
388*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-CAMELLIA128-SHA" },
389*6236dae4SAndroid Build Coastguard Worker { 0x0084, "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA",
390*6236dae4SAndroid Build Coastguard Worker "CAMELLIA256-SHA" },
391*6236dae4SAndroid Build Coastguard Worker { 0x0088, "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA",
392*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-CAMELLIA256-SHA" },
393*6236dae4SAndroid Build Coastguard Worker { 0x00BA, "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256",
394*6236dae4SAndroid Build Coastguard Worker "CAMELLIA128-SHA256" },
395*6236dae4SAndroid Build Coastguard Worker { 0x00BE, "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256",
396*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-CAMELLIA128-SHA256" },
397*6236dae4SAndroid Build Coastguard Worker { 0x00C0, "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256",
398*6236dae4SAndroid Build Coastguard Worker "CAMELLIA256-SHA256" },
399*6236dae4SAndroid Build Coastguard Worker { 0x00C4, "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256",
400*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-CAMELLIA256-SHA256" },
401*6236dae4SAndroid Build Coastguard Worker { 0xC037, "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256",
402*6236dae4SAndroid Build Coastguard Worker "ECDHE-PSK-AES128-CBC-SHA256" },
403*6236dae4SAndroid Build Coastguard Worker { 0xC038, "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384",
404*6236dae4SAndroid Build Coastguard Worker "ECDHE-PSK-AES256-CBC-SHA384" },
405*6236dae4SAndroid Build Coastguard Worker { 0xC039, "TLS_ECDHE_PSK_WITH_NULL_SHA",
406*6236dae4SAndroid Build Coastguard Worker "ECDHE-PSK-NULL-SHA" },
407*6236dae4SAndroid Build Coastguard Worker { 0xC03A, "TLS_ECDHE_PSK_WITH_NULL_SHA256",
408*6236dae4SAndroid Build Coastguard Worker "ECDHE-PSK-NULL-SHA256" },
409*6236dae4SAndroid Build Coastguard Worker { 0xC03B, "TLS_ECDHE_PSK_WITH_NULL_SHA384",
410*6236dae4SAndroid Build Coastguard Worker "ECDHE-PSK-NULL-SHA384" },
411*6236dae4SAndroid Build Coastguard Worker { 0xC03C, "TLS_RSA_WITH_ARIA_128_CBC_SHA256",
412*6236dae4SAndroid Build Coastguard Worker "ARIA128-SHA256" /* ns */ },
413*6236dae4SAndroid Build Coastguard Worker { 0xC03D, "TLS_RSA_WITH_ARIA_256_CBC_SHA384",
414*6236dae4SAndroid Build Coastguard Worker "ARIA256-SHA384" /* ns */ },
415*6236dae4SAndroid Build Coastguard Worker { 0xC044, "TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256",
416*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-ARIA128-SHA256" /* ns */ },
417*6236dae4SAndroid Build Coastguard Worker { 0xC045, "TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384",
418*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-ARIA256-SHA384" /* ns */ },
419*6236dae4SAndroid Build Coastguard Worker { 0xC048, "TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256",
420*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-ARIA128-SHA256" /* ns */ },
421*6236dae4SAndroid Build Coastguard Worker { 0xC049, "TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384",
422*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-ARIA256-SHA384" /* ns */ },
423*6236dae4SAndroid Build Coastguard Worker { 0xC04A, "TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256",
424*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-ARIA128-SHA256" /* ns */ },
425*6236dae4SAndroid Build Coastguard Worker { 0xC04B, "TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384",
426*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-ARIA256-SHA384" /* ns */ },
427*6236dae4SAndroid Build Coastguard Worker { 0xC04C, "TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256",
428*6236dae4SAndroid Build Coastguard Worker "ECDHE-ARIA128-SHA256" /* ns */ },
429*6236dae4SAndroid Build Coastguard Worker { 0xC04D, "TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384",
430*6236dae4SAndroid Build Coastguard Worker "ECDHE-ARIA256-SHA384" /* ns */ },
431*6236dae4SAndroid Build Coastguard Worker { 0xC04E, "TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256",
432*6236dae4SAndroid Build Coastguard Worker "ECDH-ARIA128-SHA256" /* ns */ },
433*6236dae4SAndroid Build Coastguard Worker { 0xC04F, "TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384",
434*6236dae4SAndroid Build Coastguard Worker "ECDH-ARIA256-SHA384" /* ns */ },
435*6236dae4SAndroid Build Coastguard Worker { 0xC050, "TLS_RSA_WITH_ARIA_128_GCM_SHA256",
436*6236dae4SAndroid Build Coastguard Worker "ARIA128-GCM-SHA256" },
437*6236dae4SAndroid Build Coastguard Worker { 0xC051, "TLS_RSA_WITH_ARIA_256_GCM_SHA384",
438*6236dae4SAndroid Build Coastguard Worker "ARIA256-GCM-SHA384" },
439*6236dae4SAndroid Build Coastguard Worker { 0xC052, "TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256",
440*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-ARIA128-GCM-SHA256" },
441*6236dae4SAndroid Build Coastguard Worker { 0xC053, "TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384",
442*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-ARIA256-GCM-SHA384" },
443*6236dae4SAndroid Build Coastguard Worker { 0xC05C, "TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256",
444*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-ARIA128-GCM-SHA256" },
445*6236dae4SAndroid Build Coastguard Worker { 0xC05D, "TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384",
446*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-ARIA256-GCM-SHA384" },
447*6236dae4SAndroid Build Coastguard Worker { 0xC05E, "TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256",
448*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-ARIA128-GCM-SHA256" /* ns */ },
449*6236dae4SAndroid Build Coastguard Worker { 0xC05F, "TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384",
450*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-ARIA256-GCM-SHA384" /* ns */ },
451*6236dae4SAndroid Build Coastguard Worker { 0xC060, "TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256",
452*6236dae4SAndroid Build Coastguard Worker "ECDHE-ARIA128-GCM-SHA256" },
453*6236dae4SAndroid Build Coastguard Worker { 0xC061, "TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384",
454*6236dae4SAndroid Build Coastguard Worker "ECDHE-ARIA256-GCM-SHA384" },
455*6236dae4SAndroid Build Coastguard Worker { 0xC062, "TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256",
456*6236dae4SAndroid Build Coastguard Worker "ECDH-ARIA128-GCM-SHA256" /* ns */ },
457*6236dae4SAndroid Build Coastguard Worker { 0xC063, "TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384",
458*6236dae4SAndroid Build Coastguard Worker "ECDH-ARIA256-GCM-SHA384" /* ns */ },
459*6236dae4SAndroid Build Coastguard Worker { 0xC064, "TLS_PSK_WITH_ARIA_128_CBC_SHA256",
460*6236dae4SAndroid Build Coastguard Worker "PSK-ARIA128-SHA256" /* ns */ },
461*6236dae4SAndroid Build Coastguard Worker { 0xC065, "TLS_PSK_WITH_ARIA_256_CBC_SHA384",
462*6236dae4SAndroid Build Coastguard Worker "PSK-ARIA256-SHA384" /* ns */ },
463*6236dae4SAndroid Build Coastguard Worker { 0xC066, "TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256",
464*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-ARIA128-SHA256" /* ns */ },
465*6236dae4SAndroid Build Coastguard Worker { 0xC067, "TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384",
466*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-ARIA256-SHA384" /* ns */ },
467*6236dae4SAndroid Build Coastguard Worker { 0xC068, "TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256",
468*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-ARIA128-SHA256" /* ns */ },
469*6236dae4SAndroid Build Coastguard Worker { 0xC069, "TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384",
470*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-ARIA256-SHA384" /* ns */ },
471*6236dae4SAndroid Build Coastguard Worker { 0xC06A, "TLS_PSK_WITH_ARIA_128_GCM_SHA256",
472*6236dae4SAndroid Build Coastguard Worker "PSK-ARIA128-GCM-SHA256" },
473*6236dae4SAndroid Build Coastguard Worker { 0xC06B, "TLS_PSK_WITH_ARIA_256_GCM_SHA384",
474*6236dae4SAndroid Build Coastguard Worker "PSK-ARIA256-GCM-SHA384" },
475*6236dae4SAndroid Build Coastguard Worker { 0xC06C, "TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256",
476*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-ARIA128-GCM-SHA256" },
477*6236dae4SAndroid Build Coastguard Worker { 0xC06D, "TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384",
478*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-ARIA256-GCM-SHA384" },
479*6236dae4SAndroid Build Coastguard Worker { 0xC06E, "TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256",
480*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-ARIA128-GCM-SHA256" },
481*6236dae4SAndroid Build Coastguard Worker { 0xC06F, "TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384",
482*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-ARIA256-GCM-SHA384" },
483*6236dae4SAndroid Build Coastguard Worker { 0xC070, "TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256",
484*6236dae4SAndroid Build Coastguard Worker "ECDHE-PSK-ARIA128-SHA256" /* ns */ },
485*6236dae4SAndroid Build Coastguard Worker { 0xC071, "TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384",
486*6236dae4SAndroid Build Coastguard Worker "ECDHE-PSK-ARIA256-SHA384" /* ns */ },
487*6236dae4SAndroid Build Coastguard Worker { 0xC072, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256",
488*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-CAMELLIA128-SHA256" },
489*6236dae4SAndroid Build Coastguard Worker { 0xC073, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384",
490*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-CAMELLIA256-SHA384" },
491*6236dae4SAndroid Build Coastguard Worker { 0xC074, "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256",
492*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-CAMELLIA128-SHA256" /* ns */ },
493*6236dae4SAndroid Build Coastguard Worker { 0xC075, "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384",
494*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-CAMELLIA256-SHA384" /* ns */ },
495*6236dae4SAndroid Build Coastguard Worker { 0xC076, "TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256",
496*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-CAMELLIA128-SHA256" },
497*6236dae4SAndroid Build Coastguard Worker { 0xC077, "TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384",
498*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-CAMELLIA256-SHA384" },
499*6236dae4SAndroid Build Coastguard Worker { 0xC078, "TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256",
500*6236dae4SAndroid Build Coastguard Worker "ECDH-CAMELLIA128-SHA256" /* ns */ },
501*6236dae4SAndroid Build Coastguard Worker { 0xC079, "TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384",
502*6236dae4SAndroid Build Coastguard Worker "ECDH-CAMELLIA256-SHA384" /* ns */ },
503*6236dae4SAndroid Build Coastguard Worker { 0xC07A, "TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256",
504*6236dae4SAndroid Build Coastguard Worker "CAMELLIA128-GCM-SHA256" /* ns */ },
505*6236dae4SAndroid Build Coastguard Worker { 0xC07B, "TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384",
506*6236dae4SAndroid Build Coastguard Worker "CAMELLIA256-GCM-SHA384" /* ns */ },
507*6236dae4SAndroid Build Coastguard Worker { 0xC07C, "TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256",
508*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-CAMELLIA128-GCM-SHA256" /* ns */ },
509*6236dae4SAndroid Build Coastguard Worker { 0xC07D, "TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384",
510*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-CAMELLIA256-GCM-SHA384" /* ns */ },
511*6236dae4SAndroid Build Coastguard Worker { 0xC086, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256",
512*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-CAMELLIA128-GCM-SHA256" /* ns */ },
513*6236dae4SAndroid Build Coastguard Worker { 0xC087, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384",
514*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-CAMELLIA256-GCM-SHA384" /* ns */ },
515*6236dae4SAndroid Build Coastguard Worker { 0xC088, "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256",
516*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-CAMELLIA128-GCM-SHA256" /* ns */ },
517*6236dae4SAndroid Build Coastguard Worker { 0xC089, "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384",
518*6236dae4SAndroid Build Coastguard Worker "ECDH-ECDSA-CAMELLIA256-GCM-SHA384" /* ns */ },
519*6236dae4SAndroid Build Coastguard Worker { 0xC08A, "TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256",
520*6236dae4SAndroid Build Coastguard Worker "ECDHE-CAMELLIA128-GCM-SHA256" /* ns */ },
521*6236dae4SAndroid Build Coastguard Worker { 0xC08B, "TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384",
522*6236dae4SAndroid Build Coastguard Worker "ECDHE-CAMELLIA256-GCM-SHA384" /* ns */ },
523*6236dae4SAndroid Build Coastguard Worker { 0xC08C, "TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256",
524*6236dae4SAndroid Build Coastguard Worker "ECDH-CAMELLIA128-GCM-SHA256" /* ns */ },
525*6236dae4SAndroid Build Coastguard Worker { 0xC08D, "TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384",
526*6236dae4SAndroid Build Coastguard Worker "ECDH-CAMELLIA256-GCM-SHA384" /* ns */ },
527*6236dae4SAndroid Build Coastguard Worker { 0xC08E, "TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256",
528*6236dae4SAndroid Build Coastguard Worker "PSK-CAMELLIA128-GCM-SHA256" /* ns */ },
529*6236dae4SAndroid Build Coastguard Worker { 0xC08F, "TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384",
530*6236dae4SAndroid Build Coastguard Worker "PSK-CAMELLIA256-GCM-SHA384" /* ns */ },
531*6236dae4SAndroid Build Coastguard Worker { 0xC090, "TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256",
532*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-CAMELLIA128-GCM-SHA256" /* ns */ },
533*6236dae4SAndroid Build Coastguard Worker { 0xC091, "TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384",
534*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-CAMELLIA256-GCM-SHA384" /* ns */ },
535*6236dae4SAndroid Build Coastguard Worker { 0xC092, "TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256",
536*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-CAMELLIA128-GCM-SHA256" /* ns */ },
537*6236dae4SAndroid Build Coastguard Worker { 0xC093, "TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384",
538*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-CAMELLIA256-GCM-SHA384" /* ns */ },
539*6236dae4SAndroid Build Coastguard Worker { 0xC094, "TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256",
540*6236dae4SAndroid Build Coastguard Worker "PSK-CAMELLIA128-SHA256" },
541*6236dae4SAndroid Build Coastguard Worker { 0xC095, "TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384",
542*6236dae4SAndroid Build Coastguard Worker "PSK-CAMELLIA256-SHA384" },
543*6236dae4SAndroid Build Coastguard Worker { 0xC096, "TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256",
544*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-CAMELLIA128-SHA256" },
545*6236dae4SAndroid Build Coastguard Worker { 0xC097, "TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384",
546*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-CAMELLIA256-SHA384" },
547*6236dae4SAndroid Build Coastguard Worker { 0xC098, "TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256",
548*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-CAMELLIA128-SHA256" },
549*6236dae4SAndroid Build Coastguard Worker { 0xC099, "TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384",
550*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-CAMELLIA256-SHA384" },
551*6236dae4SAndroid Build Coastguard Worker { 0xC09A, "TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256",
552*6236dae4SAndroid Build Coastguard Worker "ECDHE-PSK-CAMELLIA128-SHA256" },
553*6236dae4SAndroid Build Coastguard Worker { 0xC09B, "TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384",
554*6236dae4SAndroid Build Coastguard Worker "ECDHE-PSK-CAMELLIA256-SHA384" },
555*6236dae4SAndroid Build Coastguard Worker { 0xC09E, "TLS_DHE_RSA_WITH_AES_128_CCM",
556*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-AES128-CCM" },
557*6236dae4SAndroid Build Coastguard Worker { 0xC09F, "TLS_DHE_RSA_WITH_AES_256_CCM",
558*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-AES256-CCM" },
559*6236dae4SAndroid Build Coastguard Worker { 0xC0A2, "TLS_DHE_RSA_WITH_AES_128_CCM_8",
560*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-AES128-CCM8" },
561*6236dae4SAndroid Build Coastguard Worker { 0xC0A3, "TLS_DHE_RSA_WITH_AES_256_CCM_8",
562*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-AES256-CCM8" },
563*6236dae4SAndroid Build Coastguard Worker { 0xC0A4, "TLS_PSK_WITH_AES_128_CCM",
564*6236dae4SAndroid Build Coastguard Worker "PSK-AES128-CCM" },
565*6236dae4SAndroid Build Coastguard Worker { 0xC0A5, "TLS_PSK_WITH_AES_256_CCM",
566*6236dae4SAndroid Build Coastguard Worker "PSK-AES256-CCM" },
567*6236dae4SAndroid Build Coastguard Worker { 0xC0A6, "TLS_DHE_PSK_WITH_AES_128_CCM",
568*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-AES128-CCM" },
569*6236dae4SAndroid Build Coastguard Worker { 0xC0A7, "TLS_DHE_PSK_WITH_AES_256_CCM",
570*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-AES256-CCM" },
571*6236dae4SAndroid Build Coastguard Worker { 0xC0A8, "TLS_PSK_WITH_AES_128_CCM_8",
572*6236dae4SAndroid Build Coastguard Worker "PSK-AES128-CCM8" },
573*6236dae4SAndroid Build Coastguard Worker { 0xC0A9, "TLS_PSK_WITH_AES_256_CCM_8",
574*6236dae4SAndroid Build Coastguard Worker "PSK-AES256-CCM8" },
575*6236dae4SAndroid Build Coastguard Worker { 0xC0AA, "TLS_PSK_DHE_WITH_AES_128_CCM_8",
576*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-AES128-CCM8" },
577*6236dae4SAndroid Build Coastguard Worker { 0xC0AB, "TLS_PSK_DHE_WITH_AES_256_CCM_8",
578*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-AES256-CCM8" },
579*6236dae4SAndroid Build Coastguard Worker { 0xCCAA, "TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
580*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-CHACHA20-POLY1305" },
581*6236dae4SAndroid Build Coastguard Worker { 0xCCAC, "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256",
582*6236dae4SAndroid Build Coastguard Worker "ECDHE-PSK-CHACHA20-POLY1305" },
583*6236dae4SAndroid Build Coastguard Worker { 0xCCAD, "TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256",
584*6236dae4SAndroid Build Coastguard Worker "DHE-PSK-CHACHA20-POLY1305" },
585*6236dae4SAndroid Build Coastguard Worker { 0xCCAE, "TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256",
586*6236dae4SAndroid Build Coastguard Worker "RSA-PSK-CHACHA20-POLY1305" },
587*6236dae4SAndroid Build Coastguard Worker #endif
588*6236dae4SAndroid Build Coastguard Worker };
589*6236dae4SAndroid Build Coastguard Worker #define TEST_CS_LIST_LEN (sizeof(test_cs_list) / sizeof(test_cs_list[0]))
590*6236dae4SAndroid Build Coastguard Worker
591*6236dae4SAndroid Build Coastguard Worker static const char *cs_test_string =
592*6236dae4SAndroid Build Coastguard Worker "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:"
593*6236dae4SAndroid Build Coastguard Worker "TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:"
594*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:"
595*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:"
596*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:"
597*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:"
598*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:"
599*6236dae4SAndroid Build Coastguard Worker "ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:"
600*6236dae4SAndroid Build Coastguard Worker "ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:"
601*6236dae4SAndroid Build Coastguard Worker "DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:"
602*6236dae4SAndroid Build Coastguard Worker "AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:"
603*6236dae4SAndroid Build Coastguard Worker "DES-CBC3-SHA:"
604*6236dae4SAndroid Build Coastguard Worker ":: GIBBERISH ::"
605*6236dae4SAndroid Build Coastguard Worker ;
606*6236dae4SAndroid Build Coastguard Worker
607*6236dae4SAndroid Build Coastguard Worker struct test_str_entry {
608*6236dae4SAndroid Build Coastguard Worker uint16_t id;
609*6236dae4SAndroid Build Coastguard Worker const char *str;
610*6236dae4SAndroid Build Coastguard Worker };
611*6236dae4SAndroid Build Coastguard Worker static const struct test_str_entry test_str_list[] = {
612*6236dae4SAndroid Build Coastguard Worker #if defined(USE_SECTRANSP) || defined(USE_MBEDTLS) || defined(USE_RUSTLS)
613*6236dae4SAndroid Build Coastguard Worker { 0x1301, "TLS_AES_128_GCM_SHA256"},
614*6236dae4SAndroid Build Coastguard Worker { 0x1302, "TLS_AES_256_GCM_SHA384"},
615*6236dae4SAndroid Build Coastguard Worker { 0x1303, "TLS_CHACHA20_POLY1305_SHA256"},
616*6236dae4SAndroid Build Coastguard Worker #else
617*6236dae4SAndroid Build Coastguard Worker { 0x0000, "TLS_AES_128_GCM_SHA256"},
618*6236dae4SAndroid Build Coastguard Worker { 0x0000, "TLS_AES_256_GCM_SHA384"},
619*6236dae4SAndroid Build Coastguard Worker { 0x0000, "TLS_CHACHA20_POLY1305_SHA256"},
620*6236dae4SAndroid Build Coastguard Worker #endif
621*6236dae4SAndroid Build Coastguard Worker { 0xC02B, "ECDHE-ECDSA-AES128-GCM-SHA256"},
622*6236dae4SAndroid Build Coastguard Worker { 0xC02F, "ECDHE-RSA-AES128-GCM-SHA256"},
623*6236dae4SAndroid Build Coastguard Worker { 0xC02C, "ECDHE-ECDSA-AES256-GCM-SHA384"},
624*6236dae4SAndroid Build Coastguard Worker { 0xC030, "ECDHE-RSA-AES256-GCM-SHA384"},
625*6236dae4SAndroid Build Coastguard Worker { 0xCCA9, "ECDHE-ECDSA-CHACHA20-POLY1305"},
626*6236dae4SAndroid Build Coastguard Worker { 0xCCA8, "ECDHE-RSA-CHACHA20-POLY1305"},
627*6236dae4SAndroid Build Coastguard Worker #if defined(USE_SECTRANSP) || defined(USE_MBEDTLS)
628*6236dae4SAndroid Build Coastguard Worker { 0x009E, "DHE-RSA-AES128-GCM-SHA256"},
629*6236dae4SAndroid Build Coastguard Worker { 0x009F, "DHE-RSA-AES256-GCM-SHA384"},
630*6236dae4SAndroid Build Coastguard Worker #else
631*6236dae4SAndroid Build Coastguard Worker { 0x0000, "DHE-RSA-AES128-GCM-SHA256"},
632*6236dae4SAndroid Build Coastguard Worker { 0x0000, "DHE-RSA-AES256-GCM-SHA384"},
633*6236dae4SAndroid Build Coastguard Worker #endif
634*6236dae4SAndroid Build Coastguard Worker #if defined(USE_MBEDTLS)
635*6236dae4SAndroid Build Coastguard Worker { 0xCCAA, "DHE-RSA-CHACHA20-POLY1305"},
636*6236dae4SAndroid Build Coastguard Worker #else
637*6236dae4SAndroid Build Coastguard Worker { 0x0000, "DHE-RSA-CHACHA20-POLY1305"},
638*6236dae4SAndroid Build Coastguard Worker #endif
639*6236dae4SAndroid Build Coastguard Worker #if defined(USE_SECTRANSP) || defined(USE_MBEDTLS) || defined(USE_BEARSSL)
640*6236dae4SAndroid Build Coastguard Worker { 0xC023, "ECDHE-ECDSA-AES128-SHA256" },
641*6236dae4SAndroid Build Coastguard Worker { 0xC027, "ECDHE-RSA-AES128-SHA256" },
642*6236dae4SAndroid Build Coastguard Worker { 0xC009, "ECDHE-ECDSA-AES128-SHA" },
643*6236dae4SAndroid Build Coastguard Worker { 0xC013, "ECDHE-RSA-AES128-SHA" },
644*6236dae4SAndroid Build Coastguard Worker { 0xC024, "ECDHE-ECDSA-AES256-SHA384" },
645*6236dae4SAndroid Build Coastguard Worker { 0xC028, "ECDHE-RSA-AES256-SHA384" },
646*6236dae4SAndroid Build Coastguard Worker { 0xC00A, "ECDHE-ECDSA-AES256-SHA" },
647*6236dae4SAndroid Build Coastguard Worker { 0xC014, "ECDHE-RSA-AES256-SHA" },
648*6236dae4SAndroid Build Coastguard Worker #else
649*6236dae4SAndroid Build Coastguard Worker { 0x0000, "ECDHE-ECDSA-AES128-SHA256" },
650*6236dae4SAndroid Build Coastguard Worker { 0x0000, "ECDHE-RSA-AES128-SHA256" },
651*6236dae4SAndroid Build Coastguard Worker { 0x0000, "ECDHE-ECDSA-AES128-SHA" },
652*6236dae4SAndroid Build Coastguard Worker { 0x0000, "ECDHE-RSA-AES128-SHA" },
653*6236dae4SAndroid Build Coastguard Worker { 0x0000, "ECDHE-ECDSA-AES256-SHA384" },
654*6236dae4SAndroid Build Coastguard Worker { 0x0000, "ECDHE-RSA-AES256-SHA384" },
655*6236dae4SAndroid Build Coastguard Worker { 0x0000, "ECDHE-ECDSA-AES256-SHA" },
656*6236dae4SAndroid Build Coastguard Worker { 0x0000, "ECDHE-RSA-AES256-SHA" },
657*6236dae4SAndroid Build Coastguard Worker #endif
658*6236dae4SAndroid Build Coastguard Worker #if defined(USE_SECTRANSP) || defined(USE_MBEDTLS)
659*6236dae4SAndroid Build Coastguard Worker { 0x0067, "DHE-RSA-AES128-SHA256" },
660*6236dae4SAndroid Build Coastguard Worker { 0x006B, "DHE-RSA-AES256-SHA256" },
661*6236dae4SAndroid Build Coastguard Worker #else
662*6236dae4SAndroid Build Coastguard Worker { 0x0000, "DHE-RSA-AES128-SHA256" },
663*6236dae4SAndroid Build Coastguard Worker { 0x0000, "DHE-RSA-AES256-SHA256" },
664*6236dae4SAndroid Build Coastguard Worker #endif
665*6236dae4SAndroid Build Coastguard Worker #if defined(USE_SECTRANSP) || defined(USE_MBEDTLS) || defined(USE_BEARSSL)
666*6236dae4SAndroid Build Coastguard Worker { 0x009C, "AES128-GCM-SHA256" },
667*6236dae4SAndroid Build Coastguard Worker { 0x009D, "AES256-GCM-SHA384" },
668*6236dae4SAndroid Build Coastguard Worker { 0x003C, "AES128-SHA256" },
669*6236dae4SAndroid Build Coastguard Worker { 0x003D, "AES256-SHA256" },
670*6236dae4SAndroid Build Coastguard Worker { 0x002F, "AES128-SHA" },
671*6236dae4SAndroid Build Coastguard Worker { 0x0035, "AES256-SHA" },
672*6236dae4SAndroid Build Coastguard Worker #else
673*6236dae4SAndroid Build Coastguard Worker { 0x0000, "AES128-GCM-SHA256" },
674*6236dae4SAndroid Build Coastguard Worker { 0x0000, "AES256-GCM-SHA384" },
675*6236dae4SAndroid Build Coastguard Worker { 0x0000, "AES128-SHA256" },
676*6236dae4SAndroid Build Coastguard Worker { 0x0000, "AES256-SHA256" },
677*6236dae4SAndroid Build Coastguard Worker { 0x0000, "AES128-SHA" },
678*6236dae4SAndroid Build Coastguard Worker { 0x0000, "AES256-SHA" },
679*6236dae4SAndroid Build Coastguard Worker #endif
680*6236dae4SAndroid Build Coastguard Worker #if defined(USE_SECTRANSP) || defined(USE_BEARSSL)
681*6236dae4SAndroid Build Coastguard Worker { 0x000A, "DES-CBC3-SHA" },
682*6236dae4SAndroid Build Coastguard Worker #else
683*6236dae4SAndroid Build Coastguard Worker { 0x0000, "DES-CBC3-SHA" },
684*6236dae4SAndroid Build Coastguard Worker #endif
685*6236dae4SAndroid Build Coastguard Worker { 0x0000, "GIBBERISH" },
686*6236dae4SAndroid Build Coastguard Worker { 0x0000, "" },
687*6236dae4SAndroid Build Coastguard Worker };
688*6236dae4SAndroid Build Coastguard Worker #define TEST_STR_LIST_LEN (sizeof(test_str_list) / sizeof(test_str_list[0]))
689*6236dae4SAndroid Build Coastguard Worker
690*6236dae4SAndroid Build Coastguard Worker UNITTEST_START
691*6236dae4SAndroid Build Coastguard Worker {
692*6236dae4SAndroid Build Coastguard Worker for(size_t i = 0; i < TEST_CS_LIST_LEN; i++) {
693*6236dae4SAndroid Build Coastguard Worker const struct test_cs_entry *test = &test_cs_list[i];
694*6236dae4SAndroid Build Coastguard Worker const char *expect;
695*6236dae4SAndroid Build Coastguard Worker char buf[64] = "";
696*6236dae4SAndroid Build Coastguard Worker char alt[64] = "";
697*6236dae4SAndroid Build Coastguard Worker uint16_t id;
698*6236dae4SAndroid Build Coastguard Worker
699*6236dae4SAndroid Build Coastguard Worker /* test Curl_cipher_suite_lookup_id() for rfc name */
700*6236dae4SAndroid Build Coastguard Worker if(test->rfc) {
701*6236dae4SAndroid Build Coastguard Worker id = Curl_cipher_suite_lookup_id(test->rfc, strlen(test->rfc));
702*6236dae4SAndroid Build Coastguard Worker if(id != test->id) {
703*6236dae4SAndroid Build Coastguard Worker fprintf(stderr, "Curl_cipher_suite_lookup_id FAILED for \"%s\", "
704*6236dae4SAndroid Build Coastguard Worker "result = 0x%04x, expected = 0x%04x\n",
705*6236dae4SAndroid Build Coastguard Worker test->rfc, id, test->id);
706*6236dae4SAndroid Build Coastguard Worker unitfail++;
707*6236dae4SAndroid Build Coastguard Worker }
708*6236dae4SAndroid Build Coastguard Worker }
709*6236dae4SAndroid Build Coastguard Worker
710*6236dae4SAndroid Build Coastguard Worker /* test Curl_cipher_suite_lookup_id() for OpenSSL name */
711*6236dae4SAndroid Build Coastguard Worker if(test->openssl) {
712*6236dae4SAndroid Build Coastguard Worker id = Curl_cipher_suite_lookup_id(test->openssl, strlen(test->openssl));
713*6236dae4SAndroid Build Coastguard Worker if(id != test->id) {
714*6236dae4SAndroid Build Coastguard Worker fprintf(stderr, "Curl_cipher_suite_lookup_id FAILED for \"%s\", "
715*6236dae4SAndroid Build Coastguard Worker "result = 0x%04x, expected = 0x%04x\n",
716*6236dae4SAndroid Build Coastguard Worker test->openssl, id, test->id);
717*6236dae4SAndroid Build Coastguard Worker unitfail++;
718*6236dae4SAndroid Build Coastguard Worker }
719*6236dae4SAndroid Build Coastguard Worker }
720*6236dae4SAndroid Build Coastguard Worker
721*6236dae4SAndroid Build Coastguard Worker /* test Curl_cipher_suite_get_str() prefer rfc name */
722*6236dae4SAndroid Build Coastguard Worker buf[0] = '\0';
723*6236dae4SAndroid Build Coastguard Worker expect = test->rfc ? test->rfc : test->openssl;
724*6236dae4SAndroid Build Coastguard Worker
725*6236dae4SAndroid Build Coastguard Worker Curl_cipher_suite_get_str(test->id, buf, sizeof(buf), true);
726*6236dae4SAndroid Build Coastguard Worker
727*6236dae4SAndroid Build Coastguard Worker if(strcmp(buf, expect) != 0) {
728*6236dae4SAndroid Build Coastguard Worker fprintf(stderr, "Curl_cipher_suite_get_str FAILED for 0x%04x, "
729*6236dae4SAndroid Build Coastguard Worker "result = \"%s\", expected = \"%s\"\n",
730*6236dae4SAndroid Build Coastguard Worker test->id, buf, expect);
731*6236dae4SAndroid Build Coastguard Worker unitfail++;
732*6236dae4SAndroid Build Coastguard Worker }
733*6236dae4SAndroid Build Coastguard Worker
734*6236dae4SAndroid Build Coastguard Worker /* test Curl_cipher_suite_get_str() prefer OpenSSL name */
735*6236dae4SAndroid Build Coastguard Worker buf[0] = '\0';
736*6236dae4SAndroid Build Coastguard Worker expect = test->openssl ? test->openssl : test->rfc;
737*6236dae4SAndroid Build Coastguard Worker
738*6236dae4SAndroid Build Coastguard Worker Curl_cipher_suite_get_str(test->id, buf, sizeof(buf), false);
739*6236dae4SAndroid Build Coastguard Worker
740*6236dae4SAndroid Build Coastguard Worker /* suites matched by EDH alias will return the DHE name */
741*6236dae4SAndroid Build Coastguard Worker if(test->id >= 0x0011 && test->id < 0x0017) {
742*6236dae4SAndroid Build Coastguard Worker if(memcmp(expect, "EDH-", 4) == 0)
743*6236dae4SAndroid Build Coastguard Worker expect = (char *) memcpy(strcpy(alt, expect), "DHE-", 4);
744*6236dae4SAndroid Build Coastguard Worker if(memcmp(expect + 4, "EDH-", 4) == 0)
745*6236dae4SAndroid Build Coastguard Worker expect = (char *) memcpy(strcpy(alt, expect) + 4, "DHE-", 4) - 4;
746*6236dae4SAndroid Build Coastguard Worker }
747*6236dae4SAndroid Build Coastguard Worker
748*6236dae4SAndroid Build Coastguard Worker if(strcmp(buf, expect) != 0) {
749*6236dae4SAndroid Build Coastguard Worker fprintf(stderr, "Curl_cipher_suite_get_str FAILED for 0x%04x, "
750*6236dae4SAndroid Build Coastguard Worker "result = \"%s\", expected = \"%s\"\n",
751*6236dae4SAndroid Build Coastguard Worker test->id, buf, expect);
752*6236dae4SAndroid Build Coastguard Worker unitfail++;
753*6236dae4SAndroid Build Coastguard Worker }
754*6236dae4SAndroid Build Coastguard Worker }
755*6236dae4SAndroid Build Coastguard Worker
756*6236dae4SAndroid Build Coastguard Worker /* test Curl_cipher_suite_walk_str() */
757*6236dae4SAndroid Build Coastguard Worker {
758*6236dae4SAndroid Build Coastguard Worker const char *ptr, *end = cs_test_string;
759*6236dae4SAndroid Build Coastguard Worker int i = 0;
760*6236dae4SAndroid Build Coastguard Worker uint16_t id;
761*6236dae4SAndroid Build Coastguard Worker size_t len;
762*6236dae4SAndroid Build Coastguard Worker
763*6236dae4SAndroid Build Coastguard Worker for(ptr = cs_test_string; ptr[0] != '\0'; ptr = end) {
764*6236dae4SAndroid Build Coastguard Worker const struct test_str_entry *test = &test_str_list[i];
765*6236dae4SAndroid Build Coastguard Worker abort_if(i == TEST_STR_LIST_LEN, "should have been done");
766*6236dae4SAndroid Build Coastguard Worker
767*6236dae4SAndroid Build Coastguard Worker id = Curl_cipher_suite_walk_str(&ptr, &end);
768*6236dae4SAndroid Build Coastguard Worker len = end - ptr;
769*6236dae4SAndroid Build Coastguard Worker
770*6236dae4SAndroid Build Coastguard Worker if(id != test->id) {
771*6236dae4SAndroid Build Coastguard Worker fprintf(stderr, "Curl_cipher_suite_walk_str FAILED for \"%s\" "
772*6236dae4SAndroid Build Coastguard Worker "unexpected cipher, "
773*6236dae4SAndroid Build Coastguard Worker "result = 0x%04x, expected = 0x%04x\n",
774*6236dae4SAndroid Build Coastguard Worker test->str, id, test->id);
775*6236dae4SAndroid Build Coastguard Worker unitfail++;
776*6236dae4SAndroid Build Coastguard Worker }
777*6236dae4SAndroid Build Coastguard Worker if(len > 64 || strncmp(ptr, test->str, len) != 0) {
778*6236dae4SAndroid Build Coastguard Worker fprintf(stderr, "Curl_cipher_suite_walk_str ABORT for \"%s\" "
779*6236dae4SAndroid Build Coastguard Worker "unexpected pointers\n",
780*6236dae4SAndroid Build Coastguard Worker test->str);
781*6236dae4SAndroid Build Coastguard Worker unitfail++;
782*6236dae4SAndroid Build Coastguard Worker goto unit_test_abort;
783*6236dae4SAndroid Build Coastguard Worker }
784*6236dae4SAndroid Build Coastguard Worker i++;
785*6236dae4SAndroid Build Coastguard Worker }
786*6236dae4SAndroid Build Coastguard Worker }
787*6236dae4SAndroid Build Coastguard Worker }
788*6236dae4SAndroid Build Coastguard Worker UNITTEST_STOP
789*6236dae4SAndroid Build Coastguard Worker
790*6236dae4SAndroid Build Coastguard Worker #else /* defined(USE_SECTRANSP) || defined(USE_MBEDTLS) || \
791*6236dae4SAndroid Build Coastguard Worker defined(USE_BEARSSL) */
792*6236dae4SAndroid Build Coastguard Worker
793*6236dae4SAndroid Build Coastguard Worker UNITTEST_START
794*6236dae4SAndroid Build Coastguard Worker UNITTEST_STOP
795*6236dae4SAndroid Build Coastguard Worker
796*6236dae4SAndroid Build Coastguard Worker #endif /* defined(USE_SECTRANSP) || defined(USE_MBEDTLS) || \
797*6236dae4SAndroid Build Coastguard Worker defined(USE_BEARSSL) || defined(USE_RUSTLS) */
798