用Common Crypto替换OpenSSL依赖? (Mac App Store收据验证)

时间:2012-06-26 09:25:10

标签: objective-c macos openssl osx-lion commoncrypto

我的理解是OpenSSL is deprecated in OSX 10.7 in favor of Common Crypto,但我似乎无法很好地处理如何从OpenSSL代码转换为Common Crypto代码。特别是,我在看App Store receipt validation with ValidateStoreReceipt。我开始尝试找到一种方法来获取PKCS#7容器的内容,这似乎是dictionaryWithAppStoreReceipt中的第一步,但我找不到任何关于如何操作的文档。

是否可以重写此代码以免依赖OpenSSL?如果是这样,怎么样?是否有我错过的文档或教程?

1 个答案:

答案 0 :(得分:3)

无需停止使用OpenSSL。不推荐使用的是OpenSSL动态库,您仍然可以从openssl.org获取静态库/源,并将其静态链接到您的代码。

Apple给予弃用的原因是OpenSSL自己建议不要动态链接,因为库在版本之间变化太大。通过静态链接您的代码将始终使用您构建的库的版本,而不是当前安装在系统上的更新的,可能不兼容的版本。