iOS 申请证书流程苹果都干了些什么
前言
注重分析,过程简略
.CER 文件
.cer 证书-->p12证书,绑定 MAC 即绑定 Xcode,即可以用这台 MAC 的 Xcode 跑真机、打包、发布。
. P12 文件
CER 的钥匙串导出文件,可以使拥有权限的 MAC 设备由3台增加到更多。
.mobileprovision 配置文件
.mobileprovision文件 ,汇总
证书(MAC+Xcode)+ APPID(程序包名)+ UUID(手机标识)
开始申请流程
1. 创建 CSR (证书签名请求文件)
1.1. 打开钥匙串
从钥匙串申请证书
1.2. 将 CSR证书签名请求文件存在本地
将 CSR证书签名请求文件存在本地
1.3. 钥匙串中多出相应的密钥对
选择存储位置后,Keychain钥匙串将生成一个包含开发者身份信息的CSR(Certificate Signing Request)文件。同时,Keychain Access->Keys(密钥)中增加一对Public/Private Key Pair。
将 CSR证书签名请求文件存在本地,退出钥匙串
2. 申请开发证书/分发证书
2.1. 打开 Apple 开发者中心 ,登录或创建开发者账号后登录。
2.2. 点开申请证书选项
申请证书
2.3. 添加证书
申请证书流程菜单 选择证书类型 中间证书
要生成证书先本地生成 CSR 文件 添加证书签名请求文件 下载CER证书注意:
使用证书必须在系统钥匙串中拥有中间签名证书。 此证书由Xcode自动安装,有使用期限,过期需要更新。
CSR文件的作用:
- 要手动生成
cer
证书,就需要先使用你MAC 上的钥匙串生成CSR
(证书签名请求文件).- 创建
CSR
文件时,会自动生成RSA
加密的公钥和私钥对。 其中私钥存储在MAC上,默认存在登录钥匙串中,申请的证书是公钥部分。
这样苹果公司就通过证书(公钥)完成了对 MAC 电脑(钥匙串中的私钥)的合法性验证,允许你的电脑Xcode
打包/跑 APP
2.4. 推送证书需要选定 APP ID
在APNs(Apple Push Notification service)和你App推送服务器之间建立连接,以将远程通知传送到您的应用程序。 每个应用都需要单独的证书。
推送证书需添加 APP ID.png推送证书的作用:
- 具有远程通知功能的所有App ID都需要自己的Apple推送服务SSL证书. SSL证书允许您的服务器连接到Apple推送服务.
- 只有具有特定软件包标识符的显式应用程序ID(
APP ID
)才能用于创建Apple推送服务SSL证书。- 也就是说,普通证书对所有 App 测试都是通用的,而推送证书由于需要对特定 App 进行不同的推送通知,具有特异性,所以需要绑定 APP ID.
2.5. 用证书导出 .p12证书
证书下载后双击即可添加进钥匙串,若证书无专用秘钥可将其由系统秘钥拖到登录秘钥即可。
屏幕快照 2017-12-06 下午2.05.16.png3. 添加 App ID
3.1. 即添加 Bundle ID
,标识 APP
3.2. 填入 app name\app id
填入 app name\app id 勾选推送3.3. 确定注册 APP ID
确定注册 APP ID4. 添加 设备
4.1. 添加测试用的设备
个人账号/公司账号最多添加100台,企业级账号上限1000台。
添加测试用的设备4.2. 填入设备 名称 和 UUID
以上已经完成了对 证书(MAC)、APPID(APP)、设备(iPhone) 三者的锁定,下面就需要据此生成开发和分发的配置文件。
5. 添加配置证书
5.1. 选定证书类型
选定证书类型
5.2. 选定 APP ID
选定 APP ID
5.3. 选定证书
此证书关系到 APP 能在那台 MAC 的 Xcode 运行,不带推送等额外功能可以选择只绑定了 MAC的证书,带推送等额外功能的必需选择同时绑定 MAC 和 APPID的证书。
选择证书5.4. 选定设备
选定可以测试的设备
5.5. 绑定完毕,命名、下载配置文件
配置文件命名 配置文件添加完毕