]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Allow RSA signature operations with RSA_NO_PADDING
authorTomas Mraz <tomas@openssl.org>
Tue, 13 Jul 2021 13:28:24 +0000 (15:28 +0200)
committerTomas Mraz <tomas@openssl.org>
Fri, 16 Jul 2021 09:29:26 +0000 (11:29 +0200)
When no md is set, the raw operations should be allowed.

Fixes #16056

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/16068)

providers/implementations/signature/rsa_sig.c

index 40a97c0165edf71f21f53c24409fb36ca7251968..298d789b74e68764a5bdd1291e9cff57df6ea0e4 100644 (file)
@@ -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);