c++ 如何在POCO内禁用OpenSSL遗留提供程序使用

ct2axkht  于 2023-08-09  发布在  其他
关注(0)|答案(1)|浏览(127)

我正在做的项目没有openssl 3.1.X的遗留提供程序集,我正在努力找到解决这个问题的最佳方法。
有没有办法禁用OpenSSLInitializer::initialize()中尝试加载遗留提供程序的检查?例如,如果未找到旧版程序集,下面的代码将引发异常。
if(!_legacyProvider){ _legacyProvider = OSSL_PROVIDER_load(NULL,“legacy”); if(!_legacyProvider)>throw CryptoException(“无法加载OpenSSL旧提供程序”);}
https://github.com/pocoproject/poco/blob/devel/Crypto/src/OpenSSLInitializer.cpp#L137-L141
试图找到一种方法来使用openssl 3.1,而不使用Poco 1.12.4的遗留提供程序集。

2izufjch

2izufjch1#

我遇到了这个问题,似乎我们只需要注解掉这一行

(!_legacyProvider) >throw CryptoException("Failed to load OpenSSL legacy provider"); }`

字符串
这里是链接,似乎修复与来1.12.5
https://github.com/pocoproject/poco/issues/4077,1.11的提交是https://github.com/pocoproject/poco/commit/e3a81b2733a9dcbef68c4c9a21edc5c8772ae8ff?diff=unified

相关问题