苹果开发证书集锦(cer、p12、pem等生成使用)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了苹果开发证书集锦(cer、p12、pem等生成使用)相关的知识,希望对你有一定的参考价值。

参考技术A        前段时间,有朋友跳槽,上班第一天就需要发布新版本,结果前任留下的证书他在公司新配的电脑上连调试都调试不了,然后问我ios这些个杂七杂八的证书到底需要怎么弄最好,于是想,特以此文来记录下我于苹果证书的爱恨情仇。。。

要想有创建证书的资格,第一步,你得先有苹果开发者账号,而这个账号的类型比较复杂,整理如下:

1、个人版 99美元

可以上架,上架前设备号白名单 测试

最大支持100个设备号

申请地址:

https://developer.apple.com/programs/iOS/

2、公司版 99美元

申请DUNS码(申请地址: https://developer.apple.com/ios/enroll/dunsLookupForm.action )

可以上架,上架前设备号白名单测试

最大支持100个设备号

3、企业版 299美元

申请DUNS码(申请地址: https://developer.apple.com/ios/enroll/dunsLookupForm.action )

不能上架,不需要设备号内部自由使用

最大支持200个设备号

申请地址:

https://developer.apple.com/programs/ios/enterprise/

申请审批时长一般需要:2-4周

看看哪个适合你,然后按 申请流程 一步一步爬坑就可以了。

这个cer证书是我们平时用的最多的,生成过程网上也很多,我直接上图:

第一步  App IDs

如果需要推送,勾选,但是你还没添加推送证书会显示黄色的(如今需要单独去创建,详见下文),注册好后如图:

第二步,用你电脑的导出的CertificateSigningRequest.certSigningRequest文件,创建4个cer证书,如图:

分别是生产证书、开发证书、生产推送证书、开发推送证书,此时,app id 中的push notification 就是可用的了。

PS:如果你想用另外一台电脑开发,则需要用该电脑的CertificateSigningRequest.certSigningRequest新建证书.

第三步,

这是证书的配置文件,也要创建开发和生产两个版本,也可以把devices里的设备加入以用来测试和真机调试。

PS:如果在新电脑上开发,需要Edit旧的provisioning profile,把你新建的证书添加进去.

图中标的两个地方是在你的电脑钥匙串中的,只要在我的证书中,且证书可以打开(即有灰色三角形,基本都有),就直接右键,导出,P12个人信息文件,如果不能打开,则P12选项是灰的,此时,可以重新安装下你的证书,如果实在不行,revoke你的证书重新生成即可。

注意:导出时不要打开小三角.

有些地方需要pem文件,生成方法是你有p12文件且知道他的密码的情况下,用终端:

1、cd   p12文件的目录

2、openssl pkcs12 -in filename.p12 -out filename.pem -nodes(-nodes 是空密码,如果不加这句,pem需要加4位以上的密码)

3、输入p12文件的密码

4、终端输出:MAC verified OK

本文结束。

P12, cer, provisioning profile

 p12,本地私钥(实际上证书和私钥可以一起导出成p12,这里我们仅指私钥)

 cer,证书,即苹果签名后的公钥

provisioning profile描述文件

一个证书对应一个私钥,也就是本地的p12,所以当多个开发者公用一个开发者账号进行开发时,开发的时候每个人的电脑上都会生成一个私钥,相应的开发者网站上都会对应一个证书,(苹果现在的限制是最多允许10个证书),同时xcode自动生成的provisioning profile中也需要包括这10个证书,这样在真机调试时provisioning profile就可以通过其中包含的证书去验证app的签名,当用自动签名时,如果xcode发现当前的证书没有在provisioning profile中,它会自动生成一个provisioning profile,使其包含当前的证书。

 

在配置工程进行手动签名时,签名的证书需要包含在provisioning profile中。这里设置签名的证书只是签名的第一步,真正签名的时候xcode会通过该证书找到对应的私钥进行签名。

以上是关于苹果开发证书集锦(cer、p12、pem等生成使用)的主要内容,如果未能解决你的问题,请参考以下文章

iOS-推送证书制作流程

iOS-推送证书制作流程

P12, cer, provisioning profile

导出证书Cer文件为Pem格式的步骤

证书类文件转换pem转换为cer

CER证书合成p12格式