forked from wolfSSL/wolfssl
Merge pull request #1550 from dgarske/rsaverify
Check returned size matches signature size for RSA verify in openssl compatibility
This commit is contained in:
@@ -24141,7 +24141,8 @@ int wolfSSL_RSA_verify(int type, const unsigned char* m,
|
||||
}
|
||||
show("Encoded Message", sigRet, len);
|
||||
/* decrypt signature */
|
||||
ret = wc_RsaSSL_Verify(sig, sigLen, (unsigned char *)sigDec, sigLen, (RsaKey*)rsa->internal);
|
||||
ret = wc_RsaSSL_Verify(sig, sigLen, (unsigned char *)sigDec, sigLen,
|
||||
(RsaKey*)rsa->internal);
|
||||
if (ret <= 0) {
|
||||
WOLFSSL_MSG("RSA Decrypt error");
|
||||
XFREE(sigRet, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
@@ -24150,12 +24151,13 @@ int wolfSSL_RSA_verify(int type, const unsigned char* m,
|
||||
}
|
||||
show("Decrypted Signature", sigDec, ret);
|
||||
|
||||
if(XMEMCMP(sigRet, sigDec, ret) == 0){
|
||||
if ((int)len == ret && XMEMCMP(sigRet, sigDec, ret) == 0) {
|
||||
WOLFSSL_MSG("wolfSSL_RSA_verify success");
|
||||
XFREE(sigRet, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
XFREE(sigDec, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
return WOLFSSL_SUCCESS;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
WOLFSSL_MSG("wolfSSL_RSA_verify failed");
|
||||
XFREE(sigRet, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
XFREE(sigDec, NULL, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
|
Reference in New Issue
Block a user