1

我已经使用 OpenSSL 版本 1.0.2d 构建了 fips 模式 OpenSSL,并且使用版本 2.0.13 构建了 fips 容器。整个过程成功编译并链接,以创建 Windows 32 位版本的 libeay32 和 ssleay32 lib 和 dll 文件。

我创建了一个可以正确运行的小示例程序(只是 VS2010 中的控制台程序)——只需将 OpenSSL 设置为 fips 模式并在出现任何问题时打印错误。

但是,当我在实际程序中链接那些相同的 lib/dll 文件时,我正在开发的东西根本不起作用。该程序是加载 dll 模块以实现功能的可执行文件。这些 dll 模块之一是链接到 OpenSSL 库的模块。该 dll 模块也使用 Boost asio。当我的程序启动时,它无法加载自己的使用 OpenSSL dll 的 dll 模块。

我认为可能存在阻止加载的依赖问题(未找到的东西)。这就是导致我创建小型控制台示例的原因。它使用相同的链接设置和文件工作。

如果我在没有 fips 容器的情况下构建 OpenSSL - 只是“常规”OpenSSL 版本 1.0.2d,则生成的 lib/dll 文件在我的应用程序中工作正常。

所以,我想知道 boost 库可能正在做的事情是否会阻止 fips OpenSSL dll 正确加载。

有没有人听说过这样的事情?

谢谢。

4

0 回答 0