iOS学习(六十一)关于证书文件(.cer / .p12)的一些
关于打包/真机运行,其中最重要的两个文件:xxx.cer
和 xxx.mobileprovision
xxx.cer
文件是表示这个账号/电脑有真机运行的权限:
xxx.mobileprovision
文件是表示这个bundleId的应用可以具有的能力(Capabilities):
本文是关于.cer
文件的一些理解:
.cer
文件即证书文件,表示一种认证。.p12
文件是通过.cer
文件导出的文件。
一、证书的种类
根据最新官方创建证书的流程可以看出,证书分为两大类: 软件类
和 服务类
。每种大类型下根据不同的场景都有很多小类型。
1. 软件类证书
软件类证书具体的使用场景在描述中已有表述,此处不再重复。对于普通的开发来说Apple Development
和 Apple Distribution
已经完全够用了。前一个是开发证书,后一个是发布证书。
2. 服务类证书
服务类证书具体的使用场景在描述中已有表述,此处不再重复。服务类的常用的证书是推送证书Apple Push Notification service SSL (Sandbox)
和Apple Push Notification service SSL (Sandbox & Production)
。
二、证书的申请和使用
1. 申请证书
打开钥匙串 -> 菜单栏选择“钥匙串访问” -> 证书助理 -> 从证书颁发机构请求证书
申请证书CertificateSigningRequest.certSigningRequest这里
常用名称
十分重要,在证书导出时用于区分,填一个有意义的名称。
电子邮件随便填写即可,选择存储到磁盘,点击继续,保存生成的文件。
点击添加证书
添加证书选择证书类型后,点击下一步,这里的传入的文件即刚才生成的文件:
选择文件
点击下一步后,对应证书即生成了。下载即可。
2. 使用证书
下载证书后,双击进行安装。
开发证书 / 生产证书 开发环境推送证书 / 生产环境推送证书安装完成后在钥匙串中,这里显示的名称即填写的常用名称:
钥匙串点击钥匙这一行,再点击回车(或者右键 -> 显示简介),也可以更改名称。
WechatIMG69.png3. 导出证书
在使用第三方推送,比如极光推送时,需要把推送证书导出,并上传到极光管理后台。
点击证书这一行,点击右键,选择导出:
导出证书导出的证书文件是.p12
格式:
三、团队合作
在团队合作时,将下图证书导出(导出也是.p12
格式文件),其他人安装后则也可以使用。
四、问题解答
1. 网页中删除证书后扔可用
该证书并不是一个实时检测可用的文件,里面存储了权限信息,即使在Certificates
中删除了,仍然可以正常使用。钥匙串
会在一些时候对证书进行检测,如果检测到删除了,则会有“证书已经撤销”的错误, Xcode中使用该证书的Profile进行真机运行也会报错。
2. 钥匙串中提示证书不可信
添加苹果官方的中间证书
即可解决该问题。 即使不添加,并不影响使用。
在网页中点击添加证书,在该页面的最下方有最新的中间证书,下载安装即可。