iOS证书(.p12)和描述文件(.mobileprovision)申请指南

3,773 阅读6分钟

1. 证书(.P12)和描述文件(.mobileprovision)

IOS证书(.p12)和描述文件(.mobileprovision)是用于开发或者APP Store上架时打所需要的配置文件,等同于Android打包的证书签名 不过由于Apple的闭源策略,没有证书和描述文件的话APP是无法安装和运行到手机上的。

1.1 定义

证书(.P12)文件相当于公钥,描述文件(.mobileprovision)相当于私钥。

苹果规定开发证书p12文件只能申请2个,发布证书p12文件只能申请3个!达到数量限制后将无法据徐申请该类型的证书,如下图所示。

image.png

image.png

描述文件(.mobileprovision)是没有任何数量限制的!

证书(.P12)可以共用,一个证书(.P12)可以对应无数个描述文件(.mobileprovision)!所以就算P12申请一个也够用了,可以对应创建无数套iOS证书!所以对于证书数量的担忧是没有意义的!不会限制你上架多少个APP!

ios证书的有效期是一年,在我们软件的和开发者后台都能看到到期时间。

image.png

1.2 类型

  1. 开发证书和开发描述文件 开发证书用于APP开发包的打包安装,不会上架到APP Store,开发描述文件必须绑定调试设备,只有授权的设备才可以直接安装 App,一个描述文件最多绑定100台测试设备。

  2. 发布证书和发布描述文件 当APP开发测试好后上线就需要用到iOS发布证书,用iOS发布证书打包的ipa才能上传到App Store审核。

  3. 推送证书和推送描述文件 推送证书是用于推送通知的,平时我们在手机的系统栏下拉看到的那些消息就是推送通知,如果要做这个功能就需要配置推送证书。

  4. 企业证书和企业描述文件 企业证书需要企业开发者账号才能申请,其打包的APP可以不上架到APP Store也能被用户所安装,不同于开发证书,开发证书有需要绑定指定的安装设备,而企业证书打包的应用和APP Store里面的应用一样,不会限制设备

1.3 文件的删除

证书删除之后,对应的描述文件(.mobileprovision)会自动失效

证书(.P12)和描述文件(.mobileprovision)的删除分为以下两种情况

  • 发布证书和发布描述文件:只要不更新已经上架的APP,也就是说生产环境的APP在当前版本不会受到任何影响。
  • 开发证书和开发描述文件:删除了测试用的开发证书和描述文件,APP将打不开,需要重新申请证书打包重新安装。

1.4 证书的到期

P12证书到期了需不需要重新申请呢,具体看需要,如果你要更新已经上架的APP,如果要更新版本,那么需要删除到期的证书重新申请打包上传更新。

2.证书和描述文件的申请

证书和描述文件的申请主要进行如下几个步骤

  1. 生成证书请求文件
  2. 通过证书请求文件生成证书(.P12)
  3. 填写APP相关信息
  4. 添加调试设备(如果是开发证书)
  5. 生成描述文件(.mobileprovision)

流程.png

2.1 准备环境

  • 开发者账号($99/year)
  • Mac OS 10.9以上系统

2.2 前期工作

登录apple developer官网,找到account菜单

image.png

image.png

点击Certificates,IDs & Profiles 进入证书管理页面

image.png

image.png

2.2.1 填写你需要打包的APP信息

image.png

image.png

image.png

image.png

2.2.2 生成证书描述文件(.certSigningRequest)

不管是申请开发 (Development) 证书还是发布 (Distribution) 证书,都需要使用证书请求 (.certSigningRequest) 文件,证书请求文件需在Mac OS上使用 “钥匙串访问” 工具生成。 打开钥匙串访问 QQ图片20220411172133.jpg

QQ图片20220411172205.jpg

打开菜单 “钥匙串访问/证书助理/从证书颁发机构请求证书.."

image.png

选择下载到本地磁盘

image.png 得到证书请求文件(.certSigningRequest)

image.png

2.3 开发证书和开发描述文件的申请步骤

2.3.1 生成开发证书

一般而言我们只需要一个开发证书和一个发布证书就行了,然后用证书可以去生成多个描述文件,对应多个APP

如果证书超出数量限制,需要revoke掉证书后才能新增,revoke后系统得等个1天左右才会不提示*Maximum number of certificates generated* image.png

在菜单页面找到Certificates点击 +

image.png

这里选择2.2.2中生成的证书请求文件

image.png

image.png

image.png

在证书管理页面选择 “Certificates" 可查看到已申请的所有证书(TYPE:Development 为开发证书,Distribution为发布证书),点击页面的加号来创建一个新的证书。

证书下载后,双击保存到本地的 ios_development.cer 文件,会自动打开 “钥匙串访问” 工具说明导入证书成功,可以在证书列表中看到刚刚导入的证书,

image.png

接下来需要导出 .p12 证书文件,选中导入的证书,右键选择 “导出...”

image.png

image.png

给P12文件设置一个密码,Hubuilder云打包所输入的就是这个密码

image.png

image.png

2.3.2 添加调试设备

开发描述文件必须绑定调试设备,只有授权的设备才可以直接安装 App,所以在申请开发描述文件之前,先添加调试的设备。 在证书管理页面选择 “Devices”,可查看到已添加的所有设备信息,点击页面上的加号来添加一个新设备:

image.png

image.png

若要获取设备的UDID,可以使用 iPhone 或者 iPad 扫描下面的二维码即可获得当前设备的 UDID

image.png

或者,您也可以在 iOS 设备上打开下面的地址,即可方便的获取到当前设备的 UDID

www.pgyer.com/tools/udid

注意:请根据网页的提示,安装蒲公英提供的描述文件。如果手机设置了锁屏密码,则需要根据提示输入锁屏密码

演示文稿1.png

2.3.3 申请描述文件

image.png

image.png

image.png

image.png

image.png

image.png

2.4 发布证书和发布描述文件的申请

2.4.1 生成发布证书

一般而言我们只需要一个开发证书和一个发布证书就行了,然后用证书可以去生成多个描述文件,对应多个APP

如果证书超出数量限制,需要revoke掉证书后才能新增,revoke后系统得等个1天左右才会不提示*Maximum number of certificates generated*

和开发证书的申请相同,在菜单页面找到Certificates点击 +

image.png

image.png

这里选择2.2.2中生成的证书请求文件

image.png

image.png

点击Download下载发布证书

image.png

在证书管理页面选择 “Certificates" 可查看到已申请的所有证书(TYPE:Development 为开发证书,Distribution为发布证书),点击页面的加号来创建一个新的证书。

证书下载后,双击保存到本地的 distribution.cer 文件,会自动打开 “钥匙串访问” 工具说明导入证书成功,可以在证书列表中看到刚刚导入的证书,

image.png

接下来需要导出 .p12 证书文件,选中导入的证书,右键选择 “导出...”

image.png

给P12文件设置一个密码,Hubuilder云打包所输入的就是这个密码

image.png

image.png

2.4.2 生成发布描述文件

image.png

image.png

image.png

image.png

image.png

image.png

参考文献

  1. iOS证书(.p12)和描述文件(.mobileprovision)申请