iOS学习(六十一)关于证书文件(.cer / .p12)的一些理解

关于打包/真机运行,其中最重要的两个文件:xxx.cerxxx.mobileprovision

xxx.cer 文件是表示这个账号/电脑有真机运行的权限:

xxx.cer

xxx.mobileprovision文件是表示这个bundleId的应用可以具有的能力(Capabilities):

xxx.mobileprovision

本文是关于.cer文件的一些理解:

.cer文件即证书文件,表示一种认证。.p12 文件是通过.cer文件导出的文件。

一、证书的种类

根据最新官方创建证书的流程可以看出,证书分为两大类: 软件类服务类。每种大类型下根据不同的场景都有很多小类型。

1. 软件类证书

软件类证书

具体的使用场景在描述中已有表述,此处不再重复。对于普通的开发来说Apple DevelopmentApple Distribution 已经完全够用了。前一个是开发证书,后一个是发布证书。

2. 服务类证书

服务类证书

具体的使用场景在描述中已有表述,此处不再重复。服务类的常用的证书是推送证书Apple Push Notification service SSL (Sandbox)Apple Push Notification service SSL (Sandbox & Production)

二、证书的申请和使用

1. 申请证书

打开钥匙串 -> 菜单栏选择“钥匙串访问” -> 证书助理 -> 从证书颁发机构请求证书

申请证书

这里常用名称十分重要,在证书导出时用于区分,填一个有意义的名称。
电子邮件随便填写即可,选择存储到磁盘,点击继续,保存生成的文件。

CertificateSigningRequest.certSigningRequest

点击添加证书

添加证书

选择证书类型后,点击下一步,这里的传入的文件即刚才生成的文件:


选择文件

点击下一步后,对应证书即生成了。下载即可。

2. 使用证书

下载证书后,双击进行安装。

开发证书 / 生产证书
开发环境推送证书 / 生产环境推送证书

安装完成后在钥匙串中,这里显示的名称即填写的常用名称:

钥匙串

点击钥匙这一行,再点击回车(或者右键 -> 显示简介),也可以更改名称。

WechatIMG69.png

3. 导出证书

在使用第三方推送,比如极光推送时,需要把推送证书导出,并上传到极光管理后台。

点击证书这一行,点击右键,选择导出:

导出证书

导出的证书文件是.p12格式:

导出p12文件

三、团队合作

在团队合作时,将下图证书导出(导出也是.p12格式文件),其他人安装后则也可以使用。

开发证书 / 生产证书

四、问题解答

1. 网页中删除证书后扔可用

该证书并不是一个实时检测可用的文件,里面存储了权限信息,即使在Certificates中删除了,仍然可以正常使用一段时间。钥匙串会在一些时候对证书进行检测,如果检测到删除了,则会有“证书已经撤销”的错误, Xcode中使用该证书的Profile进行真机运行也会报错。

钥匙串中的提示
Xcode中提示

2. 钥匙串中提示证书不可信

添加苹果官方的中间证书即可解决该问题。 即使不添加,并不影响使用。
在网页中点击添加证书,在该页面的最下方有最新的中间证书,下载安装即可。

中间证书

你可能感兴趣的:(iOS学习(六十一)关于证书文件(.cer / .p12)的一些理解)