如何使用IOS iphone SDK生成PKCS7格式签名?

时间:2011-10-17 12:25:30

标签: ios ios4 openssl pkcs#7

我可以生成PKCS1格式的原始签名..并且能够验证它。 但是找不到使用IPHONE IOS SDK生成PCKS7格式化签名的资源。

我需要签署一条简单的短信。

我必须使用哪个库?

我们可以使用openssl吗?如是?那么如何将它包含在XCODE库框架中呢?

请帮忙。

1 个答案:

答案 0 :(得分:0)

是的,您可以使用openssl,但是您需要自己编译并将您的App链接到静态库。如果你想在iPhone模拟器和真正的iPhone设备(你这样做)中运行它,你需要创建一个包含armv7和i386架构代码的'胖'库。如果你想支持iPhone 3,那么你需要包含armv6架构代码。因此,最好使用所有3种体系结构构建库。

以下是一些描述如何为iOS构建openssl的资源:

http://atastypixel.com/blog/easy-inclusion-of-openssl-into-iphone-app-projects/ https://github.com/st3fan/ios-openssl

编辑:我实际上修改了st3fan的构建脚本,我已粘贴在这里:

setenv.shbuild_openssl.sh

下载这些脚本,并将它们保存在〜/ bin之间(一旦确定它们不是恶意的,请查看它们然后再chmod 0755。)

接下来编辑setenv.sh,因为它假设有一个目录,您将在其中安装第三方库。默认情况下,这是/opt/local/ioslibs,因此请确保存在且由您拥有,否则最终位将失败。它是使用默认位置为Xcode 4.2 / iOS SDK 5配置的,因此也可能需要更正。

build_openssl.sh配置为构建特定版本的openssl(1.0.0e),如果它不在当前目录中,则会下载源代码tarball(您需要wget,但如果不能打扰安装wget然后使用脚本中的链接手动下载它。当你运行它时,它将在armv6,armv7和i386 arch中构建库,并将正确的文件复制到安装目录。