From a00ace0fe2bebd35fe868d070f7fe465f6650964 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Thu, 14 Jan 2021 15:45:34 +0100 Subject: [PATCH] libtls: Only run socket tests with EdDSA keys if they are supported ECDSA support is currently required to run the tests because ECDSA cipher suites are not filtered when determining the supported cipher suites. Also required are ECDH groups. --- src/libtls/tests/suites/test_socket.c | 30 ++++++++++++++++++++++----- src/libtls/tests/tls_tests.h | 2 ++ 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/libtls/tests/suites/test_socket.c b/src/libtls/tests/suites/test_socket.c index ee470e280..e9f7d8321 100644 --- a/src/libtls/tests/suites/test_socket.c +++ b/src/libtls/tests/suites/test_socket.c @@ -707,11 +707,6 @@ START_TEST(test_tls10_mutual) } END_TEST -Suite *socket_suite_create() -{ - Suite *s; - TCase *tc; - #define add_tls_test(func, version) \ tcase_add_loop_test(tc, func, 0, \ tls_crypto_get_supported_suites(TRUE, version, NULL)); @@ -719,6 +714,11 @@ Suite *socket_suite_create() #define add_tls_versions_test(func, from, to) \ tcase_add_loop_test(tc, func, from, to+1); +Suite *socket_suite_create() +{ + Suite *s; + TCase *tc; + s = suite_create("socket"); tc = tcase_create("TLS [1.0..1.3] client to TLS 1.3 server"); @@ -782,6 +782,16 @@ Suite *socket_suite_create() add_tls_test(test_tls10_mutual, TLS_1_0); suite_add_tcase(s, tc); + return s; +} + +Suite *socket_suite_ed25519_create() +{ + Suite *s; + TCase *tc; + + s = suite_create("socket ed25519"); + tc = tcase_create("TLS 1.3/ed25519"); tcase_add_checked_fixture(tc, setup_ed25519_creds, teardown_creds); add_tls_test(test_tls13, TLS_1_3); @@ -802,6 +812,16 @@ Suite *socket_suite_create() add_tls_test(test_tls10, TLS_1_0); suite_add_tcase(s, tc); + return s; +} + +Suite *socket_suite_ed448_create() +{ + Suite *s; + TCase *tc; + + s = suite_create("socket ed448"); + tc = tcase_create("TLS 1.3/ed448"); tcase_add_checked_fixture(tc, setup_ed448_creds, teardown_creds); add_tls_test(test_tls13, TLS_1_3); diff --git a/src/libtls/tests/tls_tests.h b/src/libtls/tests/tls_tests.h index b0d0d57a5..77e548e53 100644 --- a/src/libtls/tests/tls_tests.h +++ b/src/libtls/tests/tls_tests.h @@ -15,4 +15,6 @@ TEST_SUITE(hkdf_suite_create) TEST_SUITE(socket_suite_create) +TEST_SUITE_DEPEND(socket_suite_ed25519_create, PRIVKEY_GEN, KEY_ED25519) +TEST_SUITE_DEPEND(socket_suite_ed448_create, PRIVKEY_GEN, KEY_ED448) TEST_SUITE(suites_suite_create)