@@ -57425,7 +57425,7 @@ static int test_openssl_generate_key_and_cert(void)
5742557425
5742657426#if !defined(NO_CERTS) && defined(WOLFSSL_CERT_GEN) && \
5742757427 defined(WOLFSSL_CERT_REQ) && !defined(NO_ASN_TIME)
57428- expectedDerSz = 345 ;
57428+ expectedDerSz = 344 ;
5742957429 ExpectIntEQ(test_openssl_make_self_signed_certificate(pkey, expectedDerSz),
5743057430 TEST_SUCCESS);
5743157431#endif
@@ -63135,6 +63135,43 @@ static int test_TLSX_CA_NAMES_bad_extension(void)
6313563135 return EXPECT_RESULT();
6313663136}
6313763137
63138+ #if defined(WOLFSSL_DTLS) && !defined(WOLFSSL_NO_TLS12) && \
63139+ defined(HAVE_IO_TESTS_DEPENDENCIES)
63140+ static void test_dtls_1_0_hvr_downgrade_ctx_ready(WOLFSSL_CTX* ctx)
63141+ {
63142+ AssertIntEQ(wolfSSL_CTX_SetMinVersion(ctx, WOLFSSL_DTLSV1_2),
63143+ WOLFSSL_SUCCESS);
63144+ }
63145+
63146+ static int test_dtls_1_0_hvr_downgrade(void)
63147+ {
63148+ EXPECT_DECLS;
63149+ callback_functions func_cb_client;
63150+ callback_functions func_cb_server;
63151+
63152+ XMEMSET(&func_cb_client, 0, sizeof(callback_functions));
63153+ XMEMSET(&func_cb_server, 0, sizeof(callback_functions));
63154+
63155+ func_cb_client.doUdp = func_cb_server.doUdp = 1;
63156+ func_cb_server.method = wolfDTLSv1_2_server_method;
63157+ func_cb_client.method = wolfDTLS_client_method;
63158+ func_cb_client.ctx_ready = test_dtls_1_0_hvr_downgrade_ctx_ready;
63159+
63160+ test_wolfSSL_client_server_nofail(&func_cb_client, &func_cb_server);
63161+
63162+ ExpectIntEQ(func_cb_client.return_code, TEST_SUCCESS);
63163+ ExpectIntEQ(func_cb_server.return_code, TEST_SUCCESS);
63164+
63165+ return EXPECT_RESULT();
63166+ }
63167+ #else
63168+ static int test_dtls_1_0_hvr_downgrade(void)
63169+ {
63170+ EXPECT_DECLS;
63171+ return EXPECT_RESULT();
63172+ }
63173+ #endif
63174+
6313863175/*----------------------------------------------------------------------------*
6313963176 | Main
6314063177 *----------------------------------------------------------------------------*/
@@ -64387,6 +64424,7 @@ TEST_CASE testCases[] = {
6438764424 TEST_DECL(test_wolfSSL_SCR_after_resumption),
6438864425 TEST_DECL(test_dtls_no_extensions),
6438964426 TEST_DECL(test_TLSX_CA_NAMES_bad_extension),
64427+ TEST_DECL(test_dtls_1_0_hvr_downgrade),
6439064428 /* This test needs to stay at the end to clean up any caches allocated. */
6439164429 TEST_DECL(test_wolfSSL_Cleanup)
6439264430};
0 commit comments