VerifyStoreReceipt 1.0.1

VerifyStoreReceipt 1.0.1

测试已测试
Lang语言 Obj-CObjective C
许可协议 MIT
发布上次发布2014年12月

Maciej Swic 维护。



  • Maciej Swic(仅 Pod)

VerifyStoreReceiptiOS

Rick Maddy, Matthew Stevens, Ruotger Skupin, Apple, Dave Carlton, Fraser Hess, anlumo, yene, David Keegan, Alessandro Segala, Maciej Swic。

这些文件基于 rmaddy/VerifyStoreReceiptiOS 项目。我只是将它作为 CocoaPod 包起来。

有关 Apple 的 iOS 收据验证的详细信息,请参阅 收据验证编程指南(需要开发者会员资格)。

不幸的是,这篇文档没有详细介绍如何处理此收据,引用

PKCS7 容器的负载使用 ASN.1 编码,由 ITU-T X.690 描述。

此验证器解析并验证负载以及 PKCS7 容器本身。

感谢 Matthew Stevens 提供解析器代码。感谢 Dave Carlton 对其进行了一些润色。感谢 Fraser Hess 进行了更多润色并纠正了我的非母语英语。感谢 anlumo 提供证书检查代码。感谢 Alessandro Segala 提供内购代码。

本项目缺少内容

安装

如果您有一个即将准备发布到苹果应用商店的应用程序,我认为您能够明白。重要的是要使用 VerifyStoreReceipt.m 中列出的依赖项进行链接。

使用

此类需要将 OpenSSL 静态链接到您的项目中。它在 CocoaPods 中作为依赖项设置,并且应自动处理。

请注意,将会有试图破解您的应用程序的人。因此,要掩盖线索。我不会太深入,但块和 Grand Central Dispatch 似乎是很好的工具。

示例项目

示例项目展示了使用此收据验证器的一种可能方法。请注意,该示例应用程序要求您使用 OpenSSL-for-iPhone 项目。将两个项目放在一个共同的父亲目录下。为了使示例代码完整,还需要完成许多任务,但它是一个启动框架。就像 VerifyStoreReceipt.m 文件中的注释一样,示例应用程序中的代码不应该直接使用。如果每个人都在使用相同的代码,黑客将很容易绕过代码,从而使收据检查变得毫无价值。

许可协议

允许以源代码和二进制形式分发和使用,无论是否修改,只要满足以下条件。

源代码的分发必须保留上述版权声明、本条件列表和以下免责声明。

以二进制形式分发的版本必须在文档和/或随分发提供的材料中复制上述版权声明、本条件列表和以下免责声明。

未经具体事先书面许可,不得使用版权所有者的名称或其贡献者的姓名来认可或推广由此软件衍生的产品。

本软件由版权所有者和贡献者提供“现状”且不承担任何明示或暗示的保证,包括但不限于适销性和针对特定目的的适用性保证。在任何情况下,版权所有者或贡献者不对任何直接、间接、偶然、特殊、示范性或后果性损害承担责任(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断),无论何种原因造成以及根据任何责任理论(包括疏忽或其他),即使告知了此类损害的可能性。