Apple App Store发布中的Certification和Provision

来源:互联网 发布:ipad 淘宝打不开 编辑:程序博客网 时间:2024/06/05 22:41
在Mac App Store(MAS)或者App Store中发布应用,都需要进行Certificate和Provision的申请和生成。很多人都能按照教程一步步完成,但是其中的一些细节作为入门级的我都不太清楚,找到了一些相关的信息跟大家分享。
  • 动机
使用这种设置的目的很简单,就是为了保证App Store中的应用都是可信任的,没有被作者意外的人篡改,同时也保证了作者要对自己发布的App负责。
  • 技术原理
Apple在Certificate和Provision File中使用了数字签名的方法进行App的可信信任性验证。具体的技术原理可以参考lincode的Blog(http://lincode.github.io/Certificate/)中的“公钥和私钥”和“Apple的证书,钥匙,可信任服务”两小节。
  • 解决方案
通过上面的介绍,公钥私钥对和非对称加密技术应该很清楚了。在实际应用中,Apple将App作者的私钥封装在Certificate中,将公钥封装在Provision中,这样就形成了一个完整的非对称加密系统。作者只有用自己的Certificate才能够将自己的App进行数字签名,使用者则只能够在使用对应的Provision的情况下对应用程序进行解密和使用。当然,实际上Apple的cer和provision中的信息并不仅仅是公私钥配对,tiffany阳的Blog(http://www.cnblogs.com/cywin888/p/3263027.html)中的概念介绍一节详细介绍了Certificate和Provision中封装的信息。
  • 实现细节
浪友Dans的Blog(http://blog.sina.com.cn/s/blog_5a6efa330101dx05.html)中有对IOS发布过程中的步骤的详细说明。对于Mac和IOS应用发布至商店所需的Certificate验证步骤是相似的,因此不另外介绍。

  • 补充
1.对于团队开发者而言,通常需共享私钥,有两种方式:
可以从钥匙扣访问工具(Keychain Access)中导出相应证书的私钥,通常是 .p12 格式文件。将 .p12 和证书发送给团队中的成员,他们安装了私钥和证书,就可以发布应用了,但是他还是要使用私钥所有人的账号登录来发布。
可以使用导出 development profile 的方法: Xcode → Preferences → Accounts,选择你要导出的 Apple ID,点击左下角的齿轮,选择 “Export Accounts”。你可以导出一个 .developerprofile 文件,这个文件是需要加密,这比直接传私钥要安全得多。文件内包括:Development certificates,Distribution certificates,Provisioning profiles。
2.Apple将Certificate和Provision分为很多种类,对于初次使用的用户很是迷惑,偶然间找到一张有趣的图,相信大家看到后会豁然开朗。(From: http://visual.ly/3-things-know-distribute-your-ios-apps )


0 0
原创粉丝点击