Merge pull request #6137 from SparkiDev/rsa_enc_no_pad

RSA padding - no pad length check fix
This commit is contained in:
David Garske
2023-02-28 17:17:05 -08:00
committed by GitHub

View File

@ -1580,11 +1580,14 @@ int wc_RsaPad_ex(const byte* input, word32 inputLen, byte* pkcsBlock,
#ifdef WC_RSA_NO_PADDING
case WC_RSA_NO_PAD:
{
int bytes = (bits + WOLFSSL_BIT_SIZE - 1) / WOLFSSL_BIT_SIZE;
WOLFSSL_MSG("wolfSSL Using NO padding");
/* In the case of no padding being used check that input is exactly
* the RSA key length */
if (bits <= 0 || inputLen != ((word32)bits/WOLFSSL_BIT_SIZE)) {
if ((bits <= 0) || (inputLen != (word32)bytes)) {
WOLFSSL_MSG("Bad input size");
ret = RSA_PAD_E;
}
@ -1593,6 +1596,7 @@ int wc_RsaPad_ex(const byte* input, word32 inputLen, byte* pkcsBlock,
ret = 0;
}
break;
}
#endif
default: