Pages

Thursday, 24 May 2018

iOS中的CSR,证书,描述文件介绍及申请流程

1.证书介绍

1.certSigningRequest-证书请求文件

包含电脑的信息,申请其他证书需要用到,当CSR文件创建的时候,会自动生成一对私钥和公钥。私钥存储在本地电脑。mac上,私钥存储默认存储在登录钥匙串中,可以在钥匙串的分类钥匙下查看。请求到的开发证书会包含公钥部分。

2.Certification(证书)

证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种
1)Developer Certification-开发证书
安装在电脑上提供权限:开发人员通过设备进行真机测试。
可以生成副本(导出p12文件)供多台电脑安装或者将其AppleID在后台加入开发组里,对证书进行共享使用;
2)Distribution Certification-发布证书
安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。正常情况不可生成副本和组内成员共享,仅有配置该证书的电脑才可使用,但是可以导出发布证书的p12文件和描述文件给其他电脑使用。

3.Provisioning Profile-描述文件

描述文件是对设备如iPod Touch、iPad、iPhone的描述,文件内记录的是设备的UDID和程序的App Id,即:使被授权的设备可以安装或调试Bundle identifier与描述文件中记录的App Id对应的程序。
开发者帐号在创建描述文件时候会选择App Id,(开发者帐号下App Id中添加,单选)和UDID(开发者帐号下Devices中添加最多100个,多选)。
描述文件分为两种,对应相应的证书使用:
1)Developer Provisioning Profile-开发描述文件
在装有开发证书或副本的电脑上使用,开发人员选择该描述文件通过电脑将程序安装到描述文件记录的设备中,即可进行真机测试。
注意:确保电脑有权限真机调试,即安装了开发证书或副本;在开发工具中程序的Bundle identifier和选中使用的描述文件的App Id要一致;连接调试的设备的UDID在选中的描述文件中有记录。
2)Distribution Provisioning Profile-发布描述文件
在装有发布证书的电脑上(即配置证书的电脑,只有一台)制做测试版和发布版的程序。
发布版就是发布到App Store上的程序文件,开发者帐号创建描述文件时选择store选项,选择App Id,无需选择UDID;
测试版就是在发布之前交给测试人员可同步到设备上的程序文件,开发者帐号创建描述文件时选择AdHoc,选择App Id和UDID;只有选中的UDID对应的设备才可能安装上通过该描述文件制做的程序。

4.Keychain-开发密钥(p12)

安装证书成功的情况下证书下都会生成Keychain,上面提到的证书副本(导出证书重新命名)就是通过配置证书的电脑导出Keychain(就是.p12文件)安装到其他机子上,让其他机子得到证书对应的权限。Developer Certification就可以制做副本Keychain分发到其他电脑上安装,使其可以进行真机测试。
因为直接从Apple下载的证书只有公钥,没有私钥.没有办法证明这个证书是你的。而从本地钥匙串中导出.p12文件是包含私钥的,换句话说,可以把证书上描述的权利赋予他人。
         

5.Ad Hoc 打包测试证书

其实这个证书是包含在发布证书里面的,这里也介绍一下用处,一般真机测试都是要手机直连电脑,然后编译运行测试,有了Ad Hoc证书,可以导出ipa包,发给客户安装测试,需要是已经添加到Ad Hoc证书配置的devices(测试机)。

6.Push证书

如果需要给应用集成推送功能,就一定要用到苹果的推送服务。Apple推送通知服务(Apple Push Notification service =APNs),例如友盟,极光之类的推送服务都是向APNs推送消息,APNs再将消息推送给设备的。
1)APNs Development iOS 开发
2)Apple Push Services  发布

2.证书申请

1.证书请求文件.certSigningRequest

准备开通开发者账号的AppleID,首先打开“应用程序”->“实用工具”->“钥匙串访问(KEY CHAIN)”,在证书助理中,选择“从证书颁发机构请求证书”:

然后根据提示,用户电子邮件地址:填您申请帐号的电子邮件地址、常用名称(默认即可),CA空着,选择存储到磁盘,点击“继续”,选择保存目录,保存一个CertificateSigningRequest.certSigningRequest文件。

2.证书申请

前往苹果开发者官网,登录,选择左侧列表 Certificates, IDs & Profiles,前往证书管理页面。
点击Certificates->选中添加按钮->选择添加的证书:

3.描述文件申请(Provisioning Profile)

选中Provisioning Profile,按需求申请描述文件(图里的授权文件即描述文件):

3.总结/其他

1)成功安装证书的条件:证书+描述文件。
2)如果你想通过证书进行真机调试,请选择开发版证书(Development Certificate),和相应的描述文件(Development Provisioning Profile) 。
3)如果你想让更多的开发者能进行真机调试,请先对需要真机调试的设备进行授权,然后将开发版证书(Development Certificate)下载到本机安装后导出为带私的.p12的文件,和相应的描述文件(Development Provisioning Profile)交由开发者安装,成功后即可进行真机调试。
4)如果你想让更多的机子进行真机测试,请先对需要测试的设备进行授权,然后选择生产版证书(Distribution Ad_hoc Certificate)和相应的描述文件(Distribution Ad_hoc Provisioning Profile)打包后分发给要测试的设备即可。
5)Xcode8有 Automatically manage signing选项,可以自动匹配证书和描述文件。
6)win系统有个工具Appuploader,它相当于把网页的申请证书/描述文件操作整合到软件中,而且有方便的导出p12文件和发布包到App Store的功能,但是只能免费体验一个月
7)发布证书中App Store/Ad Hoc是整合在同一个证书里的,描述文件App Store和Ad Hoc是独立分开的2个描述文件.

No comments:

Post a Comment