From ca112fccdd34a8538f14ddf8c3569b8331eae357 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 14 Aug 2024 17:36:56 +0200 Subject: [PATCH] Apply the FIPS_eddsa_no_verify_digested indicator on prehash EdDSA only Reviewed-by: Kurt Roeckx Reviewed-by: Neil Horman (Merged from https://github.com/openssl/openssl/pull/25188) --- providers/implementations/signature/eddsa_sig.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/providers/implementations/signature/eddsa_sig.c b/providers/implementations/signature/eddsa_sig.c index 9966e96e155..223338b4207 100644 --- a/providers/implementations/signature/eddsa_sig.c +++ b/providers/implementations/signature/eddsa_sig.c @@ -383,9 +383,10 @@ static int ed448_digest_sign(void *vpeddsactx, unsigned char *sigret, static int fips_check_verify(PROV_EDDSA_CTX *ctx) { #ifdef FIPS_MODULE - if (!OSSL_FIPS_IND_ON_UNAPPROVED(ctx, OSSL_FIPS_IND_SETTABLE0, - ctx->libctx, "Verify", "EdDSA", - FIPS_eddsa_no_verify_digested)) + if (ctx->prehash_flag + && !OSSL_FIPS_IND_ON_UNAPPROVED(ctx, OSSL_FIPS_IND_SETTABLE0, + ctx->libctx, "Verify", "EdDSA", + FIPS_eddsa_no_verify_digested)) return 0; #endif /* FIPS_MODULE */ return 1; -- 2.47.2