iOS开发者证书的那些事

苹果官方文档

Certificates 证书

  • 我们从开发者中心了解到,开发者证书分为两种类型:Development Certificate(开发证书)和Production Certificate(发布证书)。两种证书都有对应的附属证书,包括推送证书、Apple Pay证书、Pass Type ID证书等等一系列附属证书。

  • 需要注意的是,当我们发布应用到 AppStore 时,发布的电脑必须具备两个条件:

  • 安装了创建这个发布证书的电脑导出的p12文件

  • 开发者账号下载了发布证书

iOS开发者证书的那些事_第1张图片
证书分类

证书的作用

当某台电脑安装开发者证书后,这台电脑是如何拥有这种能力的呢?

  • 苹果在此运用了代码签名技术。代码签名验证允许我们的操作系统来判断是谁(你或者信任的团队成员)对App进行了签名。

  • Xcode会在项目编译期间使用你的代码签名验证,这个验证由一个由Apple认证过的公钥-私钥对组成,存储在你的Keychain(下简称钥匙串)中,公钥包含在证书(Certificates)中,公钥证书本地钥匙串开发者账号都有存储。

  • 另外,还有一个我们可以叫做媒介证书(Intermediate Certificate)的证书来确保我们的证书(Certificates)是经过授权而发布的。当安装好Xcode时,媒介证书就已经安装到我们的钥匙串中去了。如果你不小心删除了你的媒介证书,不用担心。你可以重新下载它。

  • 通过在开发者账号Developer Account)和本地(Mac)都经过验证的证书(Certificate)我们就可以利用合法的证书进行App的测试和发布了。

方法一:快捷创建法(利用Xcode创建)

iOS开发者证书的那些事_第2张图片
Xcode制作各种证书

方法二:创建CSR文件及证书制作

1. 打开电脑中的钥匙串访问

iOS开发者证书的那些事_第3张图片
钥匙串

2. 选择菜单钥匙串访问-证书助理-从证书颁发机构请求证书

iOS开发者证书的那些事_第4张图片
请求证书

3. 输入你的Email地址和名字,确保Email地址和名字与你注册为iOS开发者时登记的相一致(不一致也没关系)

其中 CA电子邮箱地址 栏目可以为空

iOS开发者证书的那些事_第5张图片
输入Email、名字

4. 选择保存到磁盘(Saves to Disk),建议保存到桌面,方便查找

iOS开发者证书的那些事_第6张图片
保存到磁盘

5. 打开开发者中心,登录开发者账号

iOS开发者证书的那些事_第7张图片
登录界面

6. 选择Certificates, Identifiers & Profiles进入,然后选择Certificates

iOS开发者证书的那些事_第8张图片
Certificates, Identifiers & Profiles
iOS开发者证书的那些事_第9张图片
Certificates

7. 选择Certificates,在右侧选择添加按钮添加

iOS开发者证书的那些事_第10张图片
添加证书

8. 选择iOS App Development,用于真机调试的Certificates文件,点击Continue。然后接下来会让你创建CSR文件(Create a CSR file),点击Continue进入下一步上传CSR文件

iOS开发者证书的那些事_第11张图片
选择真机调试证书

9. 点击Choose File选择刚刚存储在桌面的SCR文件,然后点击Generate。一会就生成我们想要的证书啦!

iOS开发者证书的那些事_第12张图片
Choose File
iOS开发者证书的那些事_第13张图片
上传CSR文件

10. 我们可以将刚刚生成的证书点击Download下载到本地使用

iOS开发者证书的那些事_第14张图片
下载证书

证书的使用

如果开发者B,登录开发者账号,下载证书(cer文件)运行,只有证书没有私钥,是不能正常使用的。所以如果有新同事加入到开发组的时候,应该从本地钥匙串中选择证书,一定要记得展开证书那一条显示出私钥并将两行都选中,右键导出2项,输入密码之后就生成p12文件(包含证书和私钥)给同事。

另外可以给同事一份描述文件(Provisioning Profiles),用于本地开发识别测试设备。

需要强调一点,证书和项目关系其实并不大,证书一般有效期只有一年,当证书过期后,只需要重新生成一份证书,上传到开发者账号就行,同时因为原有证书过期,需要重新生成Provisioning Profiles文件。然后给同事们最新的p12文件和Provisioning Profiles文件就行

所以开发者账号中的证书,配置文件是可以放心操作的(比如误删了,或者找不到证书私钥了)

iOS开发者证书的那些事_第15张图片

Provisioning Profiles 描述文件

在这里,我引用别人的一段话,因为觉得写得很喜感,但又很实在。

iOS开发者证书的那些事_第16张图片
  • 我想这个界面一弹出来的时候,蛋蛋忧伤迎面扑来。然后怒点 Fix issue,然后你们团队负责管理证书的基友突然发现证书中心多了好多好乱的证书以及描述文件,然后他爆了一句:what the fuck!删掉了带有Xcode *的证书以及描述文件,然后自己又暴力的点了一发Fix issue,然后你突然调试不了了,再暴击Fix issue键,最后整个团队都只有通过Fix issue来真机调试了...

  • 所以慎点Fix issue,如果点击这个选项,聪明的(蠢哭的)Xcode就会自己管理描述文件,然后各种莫名其妙的带有Xcode *的证书以及描述文件...

  • 其实只要坚信一点,证书、设备ID、AppID、描述文件都弄对了就绝逼不会出问题的!

描述文件过期

苹果官方文档写明,企业证书有效期是3年,而描述文件只有1年有效期。所以当你的描述文件过期(expire)时。不用慌张,我看到网上好多朋友说删除重新生成,其实不用这么麻烦,只需要3步完成:点击过期的描述文件展开详情界面-点击Edit按钮-点击Generate按钮


感谢DavidDay、蛙牛提供的资料参考


再一次感谢您花费时间阅读这篇文章!

微博: @Danny_吕昌辉
博客: SuperDanny

你可能感兴趣的:(iOS开发者证书的那些事)