mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-08-02 04:04:39 +02:00
Merge pull request #1945 from victork1996/bugfix/openssl-evp-bytes-to-key-compatibility
Fixed OpenSSL compatibility issues in wolfSSL_EVP_BytesToKey
This commit is contained in:
24
src/ssl.c
24
src/ssl.c
@@ -12298,20 +12298,30 @@ int wolfSSL_set_compression(WOLFSSL* ssl)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
XMEMSET(info, 0, sizeof(EncryptedInfo));
|
XMEMSET(info, 0, sizeof(EncryptedInfo));
|
||||||
info->ivSz = EVP_SALT_SIZE;
|
|
||||||
|
ret = wc_EncryptedInfoGet(info, type);
|
||||||
|
if (ret < 0)
|
||||||
|
goto end;
|
||||||
|
|
||||||
|
if (data == NULL) {
|
||||||
|
ret = info->keySz;
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
|
||||||
ret = wolfSSL_EVP_get_hashinfo(md, &hashType, NULL);
|
ret = wolfSSL_EVP_get_hashinfo(md, &hashType, NULL);
|
||||||
|
if (ret == WOLFSSL_FAILURE)
|
||||||
|
goto end;
|
||||||
|
|
||||||
|
ret = wc_PBKDF1_ex(key, info->keySz, iv, info->ivSz, data, sz, salt,
|
||||||
|
EVP_SALT_SIZE, count, hashType, NULL);
|
||||||
if (ret == 0)
|
if (ret == 0)
|
||||||
ret = wc_EncryptedInfoGet(info, type);
|
ret = info->keySz;
|
||||||
if (ret == 0)
|
|
||||||
ret = wc_PBKDF1_ex(key, info->keySz, iv, info->ivSz, data, sz, salt,
|
|
||||||
EVP_SALT_SIZE, count, hashType, NULL);
|
|
||||||
|
|
||||||
|
end:
|
||||||
#ifdef WOLFSSL_SMALL_STACK
|
#ifdef WOLFSSL_SMALL_STACK
|
||||||
XFREE(info, NULL, DYNAMIC_TYPE_ENCRYPTEDINFO);
|
XFREE(info, NULL, DYNAMIC_TYPE_ENCRYPTEDINFO);
|
||||||
#endif
|
#endif
|
||||||
|
if (ret < 0)
|
||||||
if (ret <= 0)
|
|
||||||
return 0; /* failure - for compatibility */
|
return 0; /* failure - for compatibility */
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
Reference in New Issue
Block a user