fix(common): ARC4 OpenSSL 1.1 vs 3 API (EVP_CIPHER_fetch)

This commit is contained in:
Dawnforger
2026-05-08 20:28:46 -05:00
parent 2f8c374569
commit fdc5849a69
+8
View File
@@ -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)