]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
lms: add signing negative test
authorPauli <ppzgs1@gmail.com>
Thu, 26 Jun 2025 08:36:37 +0000 (18:36 +1000)
committerPauli <ppzgs1@gmail.com>
Thu, 10 Jul 2025 09:04:37 +0000 (19:04 +1000)
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/27885)

test/lms_test.c

index 430363c4ec67ad0410e4eb6b7288873acc1cb0ce..6294f71d5f45e9467237e95640e6aa6cd4e6682c 100644 (file)
@@ -296,6 +296,28 @@ static int lms_digest_verify_fail_test(void)
     return ret;
 }
 
+static int lms_signing_fail_test(void)
+{
+    int ret = 0;
+    LMS_ACVP_TEST_DATA *td = &lms_testdata[0];
+    EVP_PKEY *pub = NULL;
+    EVP_MD_CTX *vctx = NULL;
+
+    if (!TEST_ptr(pub = lms_pubkey_from_data(td->pub, td->publen)))
+        return 0;
+    if (!TEST_ptr(vctx = EVP_MD_CTX_new()))
+        goto err;
+    /* Only one shot mode is supported, streaming fails to initialise */
+    if (!TEST_int_eq(EVP_DigestSignInit_ex(vctx, NULL, NULL, libctx, NULL,
+                                           pub, NULL), 0))
+        goto err;
+    ret = 1;
+ err:
+    EVP_PKEY_free(pub);
+    EVP_MD_CTX_free(vctx);
+    return ret;
+}
+
 static int lms_verify_fail_test(void)
 {
     int ret = 0;
@@ -519,6 +541,7 @@ int setup_tests(void)
     ADD_ALL_TESTS(lms_verify_test, OSSL_NELEM(lms_testdata));
     ADD_TEST(lms_verify_fail_test);
     ADD_TEST(lms_digest_verify_fail_test);
+    ADD_TEST(lms_signing_fail_test);
     ADD_TEST(lms_verify_bad_sig_test);
     ADD_TEST(lms_verify_bad_sig_len_test);
     ADD_TEST(lms_verify_bad_pub_sig_test);