我使用OpenSSL版本1.0.2d构建了fips模式OpenSSL,使用版本2.0.13构建了fips canister。整个事情编译和链接成功创建一个Windows 32位版本的libeay32和ssleay32 lib和DLL文件。
我已经创建了一个可以正常运行的小样本程序(只是VS2010中的控制台程序) - 只需将OpenSSL设置为fips模式并在出现任何问题时打印错误。
然而,当我在实际程序中链接那些相同的lib / dll文件时,我正在开发的东西根本不起作用。该程序是一个可执行文件,可以加载dll模块以实现功能。其中一个DLL模块是链接到OpenSSL库的模块。该DLL模块也使用Boost asio。当我的程序启动时,它无法加载自己的使用OpenSSL dll的dll模块。
我认为可能存在阻止负载的依赖性问题(未找到的东西)。这就是我创建小型控制台示例的原因。它使用相同的链接设置和文件。
如果我构建没有fips canister的OpenSSL - 只是'常规'的OpenSSL版本1.0.2d,生成的lib / dll文件在我的应用程序中正常工作。
所以,我想知道升级库可能正在做什么,这会阻止fips OpenSSL dll正确加载。
有没有人听说过这样的事情?
感谢。