Annotation of embedaddon/strongswan/src/libtls/tests/suites/test_suites.c, revision 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>