苹果开发者帐号那些事儿(二)

1、关于证书

苹果使用密文签名技术来验证App的合法性,不论是iOS应用仍是Mac应用都须要相应的签名证书来做为测试或发布App用。这里主要谈谈iOS的证书,固然,Mac的证书也基本相似。web

在开发iOS应用的时候,咱们须要签名证书(开发证书)来验证,并容许咱们在真机上对App进行测试。另外,在发布App到App store的时候,咱们也须要证书(发布证书)来作验证。那么什么是签名证书,如何获取签名证书,下面听我慢慢道来。app

首先,证书(Certificate)是用来证实某一件事是否成立的,比如拿到的获奖证书,是证实参加比赛并获奖的凭证。相似,在iOS开发中,用证书来证实你是否具备某些权限或者能力来作某事。代码签名验证容许咱们的操做系统来判断是谁对App进行了签名,在安装了Xcode后,Xcode会在项目编译期间使用你的代码签名验证,这个验证由一个由Apple认证过的公钥-私钥对组成,私钥存储在你的钥匙串中(Mac本地,在系统实用工具中),公钥包含在证书(Certificates)中,证书在本地钥匙串和开发者帐号中都有存储,这种公钥-私钥验证受权的方式在不少地方都有使用到,好比Git中的SSH协议也是经过这种方式来确认访问权限。另外,还有一个咱们能够叫作媒介证书的证书来确保咱们的证书(Certificates)是通过受权而发布的。以下图所示:工具

1

当安装好Xcode时,媒介证书(Intermediate Certificate)就已经安装到咱们的钥匙串中去了。经过在开发者帐号(Developer Account)和本地(Mac)都通过验证的证书(Certificate)咱们就能够利用合法的证书进行App的测试和发布了。post

2、请求证书

在为App签名前,咱们须要向Apple请求签名证书,前提是你已经注册了开发者计划并付费。测试

一、打开Xcode并进入右上角Organizer窗口,选中顶部第一个名为Devices的Tab,以下图:url

2

二、点击菜单栏Editor并选择Refresh from Developer Portalspa

三、输入开发者帐号用户名和密码并点击“Log in”,以下图:操作系统

3

四、完成后点击“Submit Request”按钮,此时Xcode会向开发者后台请求相应的证书,证书包括开发证书(Development)和发布证书(Distribution)。窗口以下图所示:code

4

五、请求完毕后,Xcode会询问是否须要导出开发者证书,选择“Export”导出。前面的介绍中咱们提到过,私钥(Private key)是存储在本地的,证书(Certificate)随着公钥(Public key)存储在开发者帐号后台,公钥=私钥对完成对一个开发者和一台开发Mac设备的受权,因此,当咱们建立证书时就须要立刻备份咱们的证书,当切换Mac进行做业时,咱们只须要导入咱们的私钥证书便可(公钥证书在本地和开发者中心都存储有)。orm

5

六、导出过程当中会要求你对导出的证书设置密码,下次导入此证书时须要输入该密码,因此须要记住此处设置的密码。导出的证书扩展名为.developerprofile,当下次切换Mac进行开发时,,导入该证书便可。

6

导入.developerprofile证书:

7

3、验证证书

一、在Xcode Organizer中左侧TEAMS选项卡中能够看到两个证书显示其中,一个是开发证书(Development),一个是发布证书(Distribution),若是开发者证书验证受权成功,则在证书上的小人头像会显示绿色小钩。

8

二、当请求了开发者证书后,会自动在钥匙串中(系统实用工具-钥匙串访问)显示开发证书和发布证书。当选中一个证书时,顶部的说明信息包括了证书发行商和受权信息,一样若是看到绿色打钩说明证书已经安装成功。

9

三、在开发者后台查看开发证书,登录Developer后台之后进入Certificates选项卡,分别在Development和Distribution选项卡中查看开发证书和发布证书。此时,证书的信息应该和在Xcode中一致。

10

4、回顾总结

在上面的讨论中,咱们介绍了签名证书以及如何请求及验证证书。在iOS开发中,总的来讲主要包括两个证书,一个是开发证书(Development certificates)用来验证哪些设备能用来测试App,在开发测试阶段使用这个证书。另外一个是发布证书(Distribution certificates),用来验证是否能向App store提交App审核和发布。若是是公司团队帐号,发布证书能在具备发布权限的团队成员间共享。如下是官方对证书类型和名字的一个列表统计,比较详细的例举了证书类型、名字以及简要描述。

11

后记:本次关于苹果开发者帐号证书相关的介绍就到此结束了,不足之处望你们指正和补充。下篇将主要介绍Provisioning Profile的二三事。欢迎继续关注。

相关文章
相关标签/搜索