20#include <openssl/crypto.h>
22#if OPENSSL_VERSION_NUMBER >= 0x30000000L
23#include <openssl/provider.h>
24OSSL_PROVIDER* LegacyProvider;
29#if OPENSSL_VERSION_NUMBER >= 0x30000000L
30#if TRINITY_PLATFORM == TRINITY_PLATFORM_WINDOWS
31 OSSL_PROVIDER_set_default_search_path(
nullptr, providerModulePath.string().c_str());
32#define OPENSSL_LEGACY_PROVIDER_FILENAME "legacy.dll"
34#define OPENSSL_LEGACY_PROVIDER_FILENAME "legacy.so"
36 LegacyProvider = OSSL_PROVIDER_try_load(
nullptr,
"legacy", 1);
37 WPFatal(LegacyProvider !=
nullptr,
"OpenSSL failed to load " OPENSSL_LEGACY_PROVIDER_FILENAME);
43#if OPENSSL_VERSION_NUMBER >= 0x30000000L
44 OSSL_PROVIDER_unload(LegacyProvider);
45 OSSL_PROVIDER_set_default_search_path(
nullptr,
nullptr);
#define WPFatal(cond,...)
TC_COMMON_API void threadsSetup(boost::filesystem::path const &providerModulePath)
Needs to be called before threads using openssl are spawned.
TC_COMMON_API void threadsCleanup()
Needs to be called after threads using openssl are despawned.