所以我今天的项目是创建一个 C++ 类,它整合了许多我们常用的加密任务。有很多东西在工作,但在这里遇到了一些障碍。作为引用,我在 OS 10.6.5 上使用 XCode 3.2.5。
我正在尝试使用 OpenSSL 的一些 CMS 功能。 OpenSSL's MAN Page对于我尝试使用的功能之一,它包含在版本 0.9.8 中。这是 XCode 允许我导入的版本,而无需执行任何异常操作(目标 -> 常规 -> 添加链接库)。然而,随着添加的 XCode 告诉我它找不到 openssl/cms.h。
所以考虑到 OS X 版本 0.9.8 和 OpenSSLs 页面上的版本之间可能存在一些差异,我下载了 1.0.0c 的源代码并构建了它。构建后,我将 libcrypto.a 和 libssl.a 作为链接库添加到我的项目中,并添加“some/dirs/openssl-1.0.0c/include/**”作为标题搜索路径。现在它可以找到 openssl/cms.h,但我在调用任何 CMS 函数时遇到链接错误。
有人成功过吗?任何帮助将不胜感激。
谢谢!
最佳答案
所以我最终做的是创建一个新的 SDK 并调用,
./Configure darwin64-x86_64-cc --prefix=/path/to/sdk/usr --openssldir=/System/Library/OpenSSL enable-cms shared
更新该 SDK 中包含的 OpenSSL 版本。这似乎行得通。
关于c++ - 在 C++ 中使用 OpenSSL 的 CMS 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4589180/