Annotation of embedaddon/strongswan/src/libtls/tests/suites/test_suites.c, revision 1.1.1.2
1.1 misho 1: /*
1.1.1.2 ! misho 2: * Copyright (C) 2020 Pascal Knecht
! 3: * HSR Hochschule fuer Technik Rapperswil
! 4: *
1.1 misho 5: * Copyright (C) 2014 Martin Willi
6: * Copyright (C) 2014 revosec AG
7: *
8: * This program is free software; you can redistribute it and/or modify it
9: * under the terms of the GNU General Public License as published by the
10: * Free Software Foundation; either version 2 of the License, or (at your
11: * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
12: *
13: * This program is distributed in the hope that it will be useful, but
14: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16: * for more details.
17: */
18:
19: #include <test_suite.h>
20:
21: #include <unistd.h>
22:
23: #include "tls_crypto.h"
24:
25: START_TEST(test_cipher_names)
26: {
27: char buf[128];
28:
29: #define CHECK_NAME(x) { \
30: snprintf(buf, sizeof(buf), "%N", tls_cipher_suite_names, x); \
31: ck_assert_str_eq(#x, buf); }
32:
33: CHECK_NAME(TLS_NULL_WITH_NULL_NULL);
34: CHECK_NAME(TLS_RSA_WITH_NULL_MD5);
35: CHECK_NAME(TLS_RSA_WITH_NULL_SHA);
36: CHECK_NAME(TLS_RSA_EXPORT_WITH_RC4_40_MD5);
37: CHECK_NAME(TLS_RSA_WITH_RC4_128_MD5);
38: CHECK_NAME(TLS_RSA_WITH_RC4_128_SHA);
39: CHECK_NAME(TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5);
40: CHECK_NAME(TLS_RSA_WITH_IDEA_CBC_SHA);
41: CHECK_NAME(TLS_RSA_EXPORT_WITH_DES40_CBC_SHA);
42: CHECK_NAME(TLS_RSA_WITH_DES_CBC_SHA);
43: CHECK_NAME(TLS_RSA_WITH_3DES_EDE_CBC_SHA);
44: CHECK_NAME(TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA);
45: CHECK_NAME(TLS_DH_DSS_WITH_DES_CBC_SHA);
46: CHECK_NAME(TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA);
47: CHECK_NAME(TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA);
48: CHECK_NAME(TLS_DH_RSA_WITH_DES_CBC_SHA);
49: CHECK_NAME(TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA);
50: CHECK_NAME(TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA);
51: CHECK_NAME(TLS_DHE_DSS_WITH_DES_CBC_SHA);
52: CHECK_NAME(TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA);
53: CHECK_NAME(TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA);
54: CHECK_NAME(TLS_DHE_RSA_WITH_DES_CBC_SHA);
55: CHECK_NAME(TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA);
56: CHECK_NAME(TLS_DH_anon_EXPORT_WITH_RC4_40_MD5);
57: CHECK_NAME(TLS_DH_anon_WITH_RC4_128_MD5);
58: CHECK_NAME(TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA);
59: CHECK_NAME(TLS_DH_anon_WITH_DES_CBC_SHA);
60: CHECK_NAME(TLS_DH_anon_WITH_3DES_EDE_CBC_SHA);
61: CHECK_NAME(TLS_KRB5_WITH_DES_CBC_SHA);
62: CHECK_NAME(TLS_KRB5_WITH_3DES_EDE_CBC_SHA);
63: CHECK_NAME(TLS_KRB5_WITH_RC4_128_SHA);
64: CHECK_NAME(TLS_KRB5_WITH_IDEA_CBC_SHA);
65: CHECK_NAME(TLS_KRB5_WITH_DES_CBC_MD5);
66: CHECK_NAME(TLS_KRB5_WITH_3DES_EDE_CBC_MD5);
67: CHECK_NAME(TLS_KRB5_WITH_RC4_128_MD5);
68: CHECK_NAME(TLS_KRB5_WITH_IDEA_CBC_MD5);
69: CHECK_NAME(TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA);
70: CHECK_NAME(TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA);
71: CHECK_NAME(TLS_KRB5_EXPORT_WITH_RC4_40_SHA);
72: CHECK_NAME(TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5);
73: CHECK_NAME(TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5);
74: CHECK_NAME(TLS_KRB5_EXPORT_WITH_RC4_40_MD5);
75: CHECK_NAME(TLS_PSK_WITH_NULL_SHA);
76: CHECK_NAME(TLS_DHE_PSK_WITH_NULL_SHA);
77: CHECK_NAME(TLS_RSA_PSK_WITH_NULL_SHA);
78: CHECK_NAME(TLS_RSA_WITH_AES_128_CBC_SHA);
79: CHECK_NAME(TLS_DH_DSS_WITH_AES_128_CBC_SHA);
80: CHECK_NAME(TLS_DH_RSA_WITH_AES_128_CBC_SHA);
81: CHECK_NAME(TLS_DHE_DSS_WITH_AES_128_CBC_SHA);
82: CHECK_NAME(TLS_DHE_RSA_WITH_AES_128_CBC_SHA);
83: CHECK_NAME(TLS_DH_anon_WITH_AES_128_CBC_SHA);
84: CHECK_NAME(TLS_RSA_WITH_AES_256_CBC_SHA);
85: CHECK_NAME(TLS_DH_DSS_WITH_AES_256_CBC_SHA);
86: CHECK_NAME(TLS_DH_RSA_WITH_AES_256_CBC_SHA);
87: CHECK_NAME(TLS_DHE_DSS_WITH_AES_256_CBC_SHA);
88: CHECK_NAME(TLS_DHE_RSA_WITH_AES_256_CBC_SHA);
89: CHECK_NAME(TLS_DH_anon_WITH_AES_256_CBC_SHA);
90: CHECK_NAME(TLS_RSA_WITH_NULL_SHA256);
91: CHECK_NAME(TLS_RSA_WITH_AES_128_CBC_SHA256);
92: CHECK_NAME(TLS_RSA_WITH_AES_256_CBC_SHA256);
93: CHECK_NAME(TLS_DH_DSS_WITH_AES_128_CBC_SHA256);
94: CHECK_NAME(TLS_DH_RSA_WITH_AES_128_CBC_SHA256);
95: CHECK_NAME(TLS_DHE_DSS_WITH_AES_128_CBC_SHA256);
96: CHECK_NAME(TLS_RSA_WITH_CAMELLIA_128_CBC_SHA);
97: CHECK_NAME(TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA);
98: CHECK_NAME(TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA);
99: CHECK_NAME(TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA);
100: CHECK_NAME(TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA);
101: CHECK_NAME(TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA);
102: CHECK_NAME(TLS_DHE_RSA_WITH_AES_128_CBC_SHA256);
103: CHECK_NAME(TLS_DH_DSS_WITH_AES_256_CBC_SHA256);
104: CHECK_NAME(TLS_DH_RSA_WITH_AES_256_CBC_SHA256);
105: CHECK_NAME(TLS_DHE_DSS_WITH_AES_256_CBC_SHA256);
106: CHECK_NAME(TLS_DHE_RSA_WITH_AES_256_CBC_SHA256);
107: CHECK_NAME(TLS_DH_anon_WITH_AES_128_CBC_SHA256);
108: CHECK_NAME(TLS_DH_anon_WITH_AES_256_CBC_SHA256);
109: CHECK_NAME(TLS_RSA_WITH_CAMELLIA_256_CBC_SHA);
110: CHECK_NAME(TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA);
111: CHECK_NAME(TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA);
112: CHECK_NAME(TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA);
113: CHECK_NAME(TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA);
114: CHECK_NAME(TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA);
115: CHECK_NAME(TLS_PSK_WITH_RC4_128_SHA);
116: CHECK_NAME(TLS_PSK_WITH_3DES_EDE_CBC_SHA);
117: CHECK_NAME(TLS_PSK_WITH_AES_128_CBC_SHA);
118: CHECK_NAME(TLS_PSK_WITH_AES_256_CBC_SHA);
119: CHECK_NAME(TLS_DHE_PSK_WITH_RC4_128_SHA);
120: CHECK_NAME(TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA);
121: CHECK_NAME(TLS_DHE_PSK_WITH_AES_128_CBC_SHA);
122: CHECK_NAME(TLS_DHE_PSK_WITH_AES_256_CBC_SHA);
123: CHECK_NAME(TLS_RSA_PSK_WITH_RC4_128_SHA);
124: CHECK_NAME(TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA);
125: CHECK_NAME(TLS_RSA_PSK_WITH_AES_128_CBC_SHA);
126: CHECK_NAME(TLS_RSA_PSK_WITH_AES_256_CBC_SHA);
127: CHECK_NAME(TLS_RSA_WITH_SEED_CBC_SHA);
128: CHECK_NAME(TLS_DH_DSS_WITH_SEED_CBC_SHA);
129: CHECK_NAME(TLS_DH_RSA_WITH_SEED_CBC_SHA);
130: CHECK_NAME(TLS_DHE_DSS_WITH_SEED_CBC_SHA);
131: CHECK_NAME(TLS_DHE_RSA_WITH_SEED_CBC_SHA);
132: CHECK_NAME(TLS_DH_anon_WITH_SEED_CBC_SHA);
133: CHECK_NAME(TLS_RSA_WITH_AES_128_GCM_SHA256);
134: CHECK_NAME(TLS_RSA_WITH_AES_256_GCM_SHA384);
135: CHECK_NAME(TLS_DHE_RSA_WITH_AES_128_GCM_SHA256);
136: CHECK_NAME(TLS_DHE_RSA_WITH_AES_256_GCM_SHA384);
137: CHECK_NAME(TLS_DH_RSA_WITH_AES_128_GCM_SHA256);
138: CHECK_NAME(TLS_DH_RSA_WITH_AES_256_GCM_SHA384);
139: CHECK_NAME(TLS_DHE_DSS_WITH_AES_128_GCM_SHA256);
140: CHECK_NAME(TLS_DHE_DSS_WITH_AES_256_GCM_SHA384);
141: CHECK_NAME(TLS_DH_DSS_WITH_AES_128_GCM_SHA256);
142: CHECK_NAME(TLS_DH_DSS_WITH_AES_256_GCM_SHA384);
143: CHECK_NAME(TLS_DH_anon_WITH_AES_128_GCM_SHA256);
144: CHECK_NAME(TLS_DH_anon_WITH_AES_256_GCM_SHA384);
145: CHECK_NAME(TLS_PSK_WITH_AES_128_GCM_SHA256);
146: CHECK_NAME(TLS_PSK_WITH_AES_256_GCM_SHA384);
147: CHECK_NAME(TLS_DHE_PSK_WITH_AES_128_GCM_SHA256);
148: CHECK_NAME(TLS_DHE_PSK_WITH_AES_256_GCM_SHA384);
149: CHECK_NAME(TLS_RSA_PSK_WITH_AES_128_GCM_SHA256);
150: CHECK_NAME(TLS_RSA_PSK_WITH_AES_256_GCM_SHA384);
151: CHECK_NAME(TLS_PSK_WITH_AES_128_CBC_SHA256);
152: CHECK_NAME(TLS_PSK_WITH_AES_256_CBC_SHA384);
153: CHECK_NAME(TLS_PSK_WITH_NULL_SHA256);
154: CHECK_NAME(TLS_PSK_WITH_NULL_SHA384);
155: CHECK_NAME(TLS_DHE_PSK_WITH_AES_128_CBC_SHA256);
156: CHECK_NAME(TLS_DHE_PSK_WITH_AES_256_CBC_SHA384);
157: CHECK_NAME(TLS_DHE_PSK_WITH_NULL_SHA256);
158: CHECK_NAME(TLS_DHE_PSK_WITH_NULL_SHA384);
159: CHECK_NAME(TLS_RSA_PSK_WITH_AES_128_CBC_SHA256);
160: CHECK_NAME(TLS_RSA_PSK_WITH_AES_256_CBC_SHA384);
161: CHECK_NAME(TLS_RSA_PSK_WITH_NULL_SHA256);
162: CHECK_NAME(TLS_RSA_PSK_WITH_NULL_SHA384);
163: CHECK_NAME(TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256);
164: CHECK_NAME(TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256);
165: CHECK_NAME(TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256);
166: CHECK_NAME(TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256);
167: CHECK_NAME(TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256);
168: CHECK_NAME(TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256);
169: CHECK_NAME(TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256);
170: CHECK_NAME(TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256);
171: CHECK_NAME(TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256);
172: CHECK_NAME(TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256);
173: CHECK_NAME(TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256);
174: CHECK_NAME(TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256);
175: CHECK_NAME(TLS_EMPTY_RENEGOTIATION_INFO_SCSV);
1.1.1.2 ! misho 176: CHECK_NAME(TLS_AES_128_GCM_SHA256);
! 177: CHECK_NAME(TLS_AES_256_GCM_SHA384);
! 178: CHECK_NAME(TLS_CHACHA20_POLY1305_SHA256);
! 179: CHECK_NAME(TLS_AES_128_CCM_SHA256);
! 180: CHECK_NAME(TLS_AES_128_CCM_8_SHA256);
1.1 misho 181: CHECK_NAME(TLS_ECDH_ECDSA_WITH_NULL_SHA);
182: CHECK_NAME(TLS_ECDH_ECDSA_WITH_RC4_128_SHA);
183: CHECK_NAME(TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA);
184: CHECK_NAME(TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA);
185: CHECK_NAME(TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA);
186: CHECK_NAME(TLS_ECDHE_ECDSA_WITH_NULL_SHA);
187: CHECK_NAME(TLS_ECDHE_ECDSA_WITH_RC4_128_SHA);
188: CHECK_NAME(TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA);
189: CHECK_NAME(TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA);
190: CHECK_NAME(TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA);
191: CHECK_NAME(TLS_ECDH_RSA_WITH_NULL_SHA);
192: CHECK_NAME(TLS_ECDH_RSA_WITH_RC4_128_SHA);
193: CHECK_NAME(TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA);
194: CHECK_NAME(TLS_ECDH_RSA_WITH_AES_128_CBC_SHA);
195: CHECK_NAME(TLS_ECDH_RSA_WITH_AES_256_CBC_SHA);
196: CHECK_NAME(TLS_ECDHE_RSA_WITH_NULL_SHA);
197: CHECK_NAME(TLS_ECDHE_RSA_WITH_RC4_128_SHA);
198: CHECK_NAME(TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA);
199: CHECK_NAME(TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA);
200: CHECK_NAME(TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA);
201: CHECK_NAME(TLS_ECDH_anon_WITH_NULL_SHA);
202: CHECK_NAME(TLS_ECDH_anon_WITH_RC4_128_SHA);
203: CHECK_NAME(TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA);
204: CHECK_NAME(TLS_ECDH_anon_WITH_AES_128_CBC_SHA);
205: CHECK_NAME(TLS_ECDH_anon_WITH_AES_256_CBC_SHA);
206: CHECK_NAME(TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA);
207: CHECK_NAME(TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA);
208: CHECK_NAME(TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA);
209: CHECK_NAME(TLS_SRP_SHA_WITH_AES_128_CBC_SHA);
210: CHECK_NAME(TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA);
211: CHECK_NAME(TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA);
212: CHECK_NAME(TLS_SRP_SHA_WITH_AES_256_CBC_SHA);
213: CHECK_NAME(TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA);
214: CHECK_NAME(TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA);
215: CHECK_NAME(TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256);
216: CHECK_NAME(TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384);
217: CHECK_NAME(TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256);
218: CHECK_NAME(TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384);
219: CHECK_NAME(TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256);
220: CHECK_NAME(TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384);
221: CHECK_NAME(TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256);
222: CHECK_NAME(TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384);
223: CHECK_NAME(TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256);
224: CHECK_NAME(TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384);
225: CHECK_NAME(TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256);
226: CHECK_NAME(TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384);
227: CHECK_NAME(TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256);
228: CHECK_NAME(TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384);
229: CHECK_NAME(TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256);
230: CHECK_NAME(TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384);
231: CHECK_NAME(TLS_ECDHE_PSK_WITH_RC4_128_SHA);
232: CHECK_NAME(TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA);
233: CHECK_NAME(TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA);
234: CHECK_NAME(TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA);
235: CHECK_NAME(TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256);
236: CHECK_NAME(TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384);
237: CHECK_NAME(TLS_ECDHE_PSK_WITH_NULL_SHA);
238: CHECK_NAME(TLS_ECDHE_PSK_WITH_NULL_SHA256);
239: CHECK_NAME(TLS_ECDHE_PSK_WITH_NULL_SHA384);
1.1.1.2 ! misho 240: CHECK_NAME(TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256);
! 241: CHECK_NAME(TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256);
! 242: CHECK_NAME(TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256);
1.1 misho 243: }
244: END_TEST
245:
246: Suite *suites_suite_create()
247: {
248: Suite *s;
249: TCase *tc;
250:
251: s = suite_create("suites");
252:
253: tc = tcase_create("cipher-names");
254: tcase_add_test(tc, test_cipher_names);
255: suite_add_tcase(s, tc);
256:
257: return s;
258: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>