fix(common): ARC4 OpenSSL 1.1 vs 3 API (EVP_CIPHER_fetch)
This commit is contained in:
@@ -17,10 +17,16 @@
|
||||
|
||||
#include "ARC4.h"
|
||||
#include "Errors.h"
|
||||
#include <openssl/opensslv.h>
|
||||
|
||||
Acore::Crypto::ARC4::ARC4() : _ctx(EVP_CIPHER_CTX_new())
|
||||
{
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
_cipher = EVP_CIPHER_fetch(nullptr, "RC4", nullptr);
|
||||
#else
|
||||
_cipher = const_cast<EVP_CIPHER*>(EVP_rc4());
|
||||
#endif
|
||||
ASSERT(_cipher);
|
||||
|
||||
EVP_CIPHER_CTX_init(_ctx);
|
||||
int result = EVP_EncryptInit_ex(_ctx, _cipher, nullptr, nullptr, nullptr);
|
||||
@@ -30,7 +36,9 @@ Acore::Crypto::ARC4::ARC4() : _ctx(EVP_CIPHER_CTX_new())
|
||||
Acore::Crypto::ARC4::~ARC4()
|
||||
{
|
||||
EVP_CIPHER_CTX_free(_ctx);
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
|
||||
EVP_CIPHER_free(_cipher);
|
||||
#endif
|
||||
}
|
||||
|
||||
void Acore::Crypto::ARC4::Init(uint8 const* seed, std::size_t len)
|
||||
|
||||
Reference in New Issue
Block a user