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>