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