Iphone iOS应用程序的安全许可系统

Iphone iOS应用程序的安全许可系统,iphone,objective-c,security,encryption,ssl,Iphone,Objective C,Security,Encryption,Ssl,以前也有人问过一些类似的问题,但我还没有找到一个能准确说明我想做什么的问题 我有一个iOS应用程序,我正试图为它建立一个合理安全的许可系统 将有一个(基于PHP的)中央服务器,前端用户可以购买使用该软件的许可证,后端数据库存储所有许可信息 从iOS应用程序中,用户将能够输入许可证密钥,然后将该密钥发送到服务器,并根据数据库进行检查,然后服务器将使用与该许可证相关的信息(例如到期日期)进行响应——或者如果不存在此类许可证,将使用“身份验证失败”消息进行响应 问题是如何最好地实现这一点,以及应该部署

以前也有人问过一些类似的问题,但我还没有找到一个能准确说明我想做什么的问题

我有一个iOS应用程序,我正试图为它建立一个合理安全的许可系统

将有一个(基于PHP的)中央服务器,前端用户可以购买使用该软件的许可证,后端数据库存储所有许可信息

从iOS应用程序中,用户将能够输入许可证密钥,然后将该密钥发送到服务器,并根据数据库进行检查,然后服务器将使用与该许可证相关的信息(例如到期日期)进行响应——或者如果不存在此类许可证,将使用“身份验证失败”消息进行响应

问题是如何最好地实现这一点,以及应该部署哪些技术来实现这一点

我的第一反应是使用公钥RSA加密,这样服务器就可以对所有许可证密钥进行签名,应用程序就可以验证它们。但这是不是太过分了

在套接字层使用SSL是否足以确保许可证密钥合法?(或者恶意用户是否可以创建伪造的DNS记录并假装是我的许可证服务器并始终发送有效的许可证?)


我正试图找到一个相当简洁的解决方案,它在Objective-C/iOS和PHP之间也能很好地发挥作用。

根据您的应用程序类型,您可能需要查看iOS的开发者指南。那可能不会和他们一起飞。苹果更希望你使用应用内购买,这样他们可以得到30%的折扣。据我所知,拥有自己的外部授权服务器是可以的,只要你不从应用内链接到它。已经有很多B2B应用程序可以这样运行。具体来说:(11.14)应用程序可以阅读或播放在应用程序之外订阅或购买的经批准的内容(特别是杂志、报纸、书籍、音频、音乐和视频),只要应用程序中没有按钮或外部链接来购买经批准的内容。对于在应用程序之外订阅或购买的经批准的内容,苹果将不会收到任何部分的收入。-所以这是绝对允许的,但感谢您的关注:)@jon:11.14只适用于应用程序中的“内容”(“特别是杂志、报纸、书籍、音频、音乐和视频”)。你不能为未经许可的用户锁定整个应用程序;指导方针11.1、11.2、11.12和11.9都禁止这样做。您最终得到了什么解决方案?