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;
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);