用开发者证书签名怎么认证,免费个人苹果签名证书


最近需要给iOS开发团队做一次关于iOS开发证书以及代码签名的分享,于是花了点时间把这一块的知识重新学习和整理了一遍,从而有了这篇学习笔记 。其中很多一些文字都是从网站或者博客上摘抄过来,为了阅读方便也做了一些调整,说白了我只是做了一些知识的梳理和整合 。
该笔记涉及到内容有:开发者账号、签名证书、标识符(Identifiers)、设备(Devices)、APP授权机制、配置文件、ipa文件的签名和安全验证 。
开发者账号类型 苹果为iOS开发者提供三种账号类型,如下:
Apple Developer Program 年费 $99(或¥688) 可以在iOS App Store和Mac App Store上架应用可以以个人(Individual)或者组织(Organization)的名义加入,以组织身份加入需要提供邓白氏编码(DUNS Number),会多出Team Management功能,允许多人协作开发 。在发布署名上以组织(Organization)的名义加入可以填写公司或组织信息(比如某某公司、某某工作室),而以个人(Individual)加入只能默认显示注册时填写的个人信息,并且不能修改 。Apple Developer Enterprise Program年费 $299,用于以InHouse方式发布企业内部应用,不能上架App Store企业证书过期则已经安装的应用无法继续运行 。iOS Developer University Program
高校计划需要提供高校基本信息,免费提供 。苹果为鼓励高校更多的参与到苹果开发者计划中来,特意推出这一项计划,高校计划具有在真机上测试等权限,但不能将App发布到App Store 。证书(Certificates) 什么是证书?证书就是:证明证书拥有者有证书上所说的能力,一个证书要涉及到颁发者、拥有者、证明拥有者有了什么能力 。例如,CET-4证书;颁发者:学校,拥有者:自己,证明的能力:英语达到四级水平 。苹果开发者证书也是一样,颁发者:自己,拥有者:安装证书的电脑;证明的能力:可以打包某应用程序 。
开发者证书能力来源 向Member Center申请证书的过程,其实就是将在本地生成的certSigningRequest文件提交给苹果,让它进行签名授权的过程 。certSigningRequest这个文件包含以下内容:
    申请者信息,此信息是用申请者的私钥加密的 。申请者公钥,此信息是申请者使用的私钥对应的公钥 。摘要算法和公钥加密算法 。
当苹果用私钥对其签名(授权)之后,我们便可以获得一个证书文件 。拥有该证书后,我们便可以用对应的私钥对APP签名了 。当iOS设备拿到APP时便可以通过证书中的公钥来验证APP的正确性,同时iOS设备本身可以验证证书的是否被授权,因为该证书是苹果自己签名的证书 。
被苹果签名的证书会随APP一起打包到ipa文件中,并提交到App store中 。

推荐阅读