在C ++中使用OpenSSL的CMS实现

时间:2011-01-03 22:54:12

标签: c++ xcode openssl

所以今天我的项目是创建一个C ++类,它整合了许多常用的加密任务。有很多工作,但在这里遇到了一些障碍。作为参考,我在OS 10.6.5上使用XCode 3.2.5。

我正在尝试利用OpenSSL的一些CMS功能。 OpenSSL's MAN Page我试图使用的一个函数提到它包含在0.9.8版本中。这就是XCode让我导入的版本,而不必做任何与众不同的事情(Target - > General - > Add Linked Library)。然而,添加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函数上都会出现链接错误。

有没有人成功完成这项工作?任何帮助都会很感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

所以我最终做的是创建一个新的SDK并调用

./Configure darwin64-x86_64-cc --prefix=/path/to/sdk/usr --openssldir=/System/Library/OpenSSL enable-cms shared

更新该SDK中包含的OpenSSL版本。这似乎有效。