The project I am working on doesn't have the legacy provider assemblies for openssl 3.1.X, and I am trying to find the best way to work around this.
Is there a way to disable the check within OpenSSLInitializer::initialize() that tries to load the legacy provider? For instance, the code below will throw an exception if the legacy assembly is not found..
if (!_legacyProvider) { _legacyProvider = OSSL_PROVIDER_load(NULL, "legacy"); if (!_legacyProvider) >throw CryptoException("Failed to load OpenSSL legacy provider"); }
https://github.com/pocoproject/poco/blob/devel/Crypto/src/OpenSSLInitializer.cpp#L137-L141
Trying to find a way to use openssl 3.1 without the legacy provider assembly with Poco 1.12.4.
I ran into this issue and it seems we just need to comment out this line
and here is the link where it seems the fix with come in 1.12.5
https://github.com/pocoproject/poco/issues/4077 and commit for 1.11 is here https://github.com/pocoproject/poco/commit/e3a81b2733a9dcbef68c4c9a21edc5c8772ae8ff?diff=unified