From: Tomas Mraz Date: Wed, 14 Aug 2024 15:36:56 +0000 (+0200) Subject: Apply the FIPS_eddsa_no_verify_digested indicator on prehash EdDSA only X-Git-Tag: openssl-3.4.0-alpha1~138 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ca112fccdd34a8538f14ddf8c3569b8331eae357;p=thirdparty%2Fopenssl.git 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) --- 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;