From 07d189cee45e334cde119b547449841a4414e740 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Tue, 13 Jul 2021 15:28:24 +0200 Subject: [PATCH] Allow RSA signature operations with RSA_NO_PADDING When no md is set, the raw operations should be allowed. Fixes #16056 Reviewed-by: Shane Lontis (Merged from https://github.com/openssl/openssl/pull/16068) --- providers/implementations/signature/rsa_sig.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/providers/implementations/signature/rsa_sig.c b/providers/implementations/signature/rsa_sig.c index 40a97c0165e..298d789b74e 100644 --- a/providers/implementations/signature/rsa_sig.c +++ b/providers/implementations/signature/rsa_sig.c @@ -126,8 +126,11 @@ static int rsa_check_padding(const PROV_RSA_CTX *prsactx, { switch(prsactx->pad_mode) { case RSA_NO_PADDING: - ERR_raise(ERR_LIB_PROV, PROV_R_INVALID_PADDING_MODE); - return 0; + if (mdname != NULL || mdnid != NID_undef) { + ERR_raise(ERR_LIB_PROV, PROV_R_INVALID_PADDING_MODE); + return 0; + } + break; case RSA_X931_PADDING: if (RSA_X931_hash_id(mdnid) == -1) { ERR_raise(ERR_LIB_PROV, PROV_R_INVALID_X931_DIGEST); -- 2.47.3