苹果官方文档
Certificates 证书

证书的作用
当某台电脑安装开发者证书后,这台电脑是如何拥有这种能力的呢?
- 苹果在此运用了代码签名技术。代码签名验证允许我们的操作系统来判断是谁(你或者信任的团队成员)对App进行了签名。
- Xcode会在项目编译期间使用你的代码签名验证,这个验证由一个由Apple认证过的
公钥-私钥对
组成,存储在你的Keychain
(下简称钥匙串)中,公钥包含在证书(Certificates)中,公钥证书
在本地钥匙串和开发者账号都有存储。
- 另外,还有一个我们可以叫做
媒介证书
(Intermediate Certificate)的证书来确保我们的证书(Certificates)是经过授权而发布的。当安装好Xcode时,媒介证书
就已经安装到我们的钥匙串
中去了。如果你不小心删除了你的媒介证书
,不用担心。你可以重新下载它。
- 通过在
开发者账号
(Developer Account)和本地(Mac)都经过验证的证书(Certificate)我们就可以利用合法的证书进行App的测试和发布了。
创建CSR文件及证书制作
1. 打开电脑中的钥匙串访问

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

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

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

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

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


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

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

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


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

证书的使用
如果开发者B,登录开发者账号
,下载证书(cer文件)运行,只有证书没有私钥,是不能正常使用的。所以如果有新同事加入到开发组的时候,应该从本地钥匙串中选择证书,一定要记得展开证书那一条显示出私钥并将两行都选中,右键导出2项,输入密码之后就生成p12文件(包含证书和私钥)给同事。
另外可以给同事一份描述文件(Provisioning Profiles),用于本地开发识别测试设备。
需要强调一点,证书和项目关系其实并不大,证书一般有效期只有一年,当证书过期后,只需要重新生成一份证书,上传到开发者账号
就行,同时因为原有证书过期,需要重新生成Provisioning Profiles
文件。然后给同事们最新的p12文件和Provisioning Profiles文件就行
所以开发者账号
中的证书,配置文件是可以放心操作的(比如误删了,或者找不到证书私钥了)

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

- 慎点Fix issue,如果点击这个选项,聪明的(
蠢哭的)Xcode就会自己管理描述文件,然后各种莫名其妙的带有Xcode *的证书以及描述文件...
- 其实只要坚信一点,证书、设备ID、AppID、描述文件都弄对了就绝逼不会出问题的!
描述文件过期
苹果官方文档写明,企业证书有效期是3年,而描述文件只有1年有效期。所以当你的描述文件过期(expire)时。不用慌张,我看到网上好多朋友说删除重新生成,其实不用这么麻烦,只需要3步完成:点击过期的描述文件展开详情界面
-点击Edit按钮
-点击Generate按钮
感谢DavidDay、蛙牛提供的资料参考
再一次感谢您花费时间阅读这篇文章!
微博: @Danny_吕昌辉
博客: SuperDanny