您的位置:首页 > 其它

一个苹果证书如何多次使用——导出p12文件

2015-11-16 14:47 337 查看

http://www.cnblogs.com/yipu/p/3617851.html


为什么要导出.p12文件

当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了(一般在我们的证书界面中应该只有一个开发证书,一个发布证书,没必要生成那么多的证书,证书一般在过期之后才会重新添加。)

如图:



这时候,再点击“+”时,就会发现点击不了开发和发布证书,也就是添加不了开发证书和发布证书了:




有两个解决不能添加证书的办法。


第一种方法——“revoke”(不推荐):

将以前的证书“revoke”掉,如图:



然后重新生成一个新的证书。

这种方法是可以的,但是会造成相应的Provisioning Profiles失效,这是小问题。但是又要重新申请证书甚至描述文件很浪费时间,所以不提倡这种做法。

 


第二种方法——“.p12”(推荐):

我们的每一个证书都可以生成一个.p12文件,这个文件是一个加密的文件,只要知道其密码,就可以供给所有的mac设备使用,使设备不需要在苹果开发者网站重新申请开发和发布证书,就能使用。

注意:一般.p12文件是给与别人使用的,本机必须已经有一个带秘钥的证书才可以生成.p12文件,如图:



 

打开钥匙串,选择我们需要的证书,右击,选择“导出“iPhone Distribition:```”:



 

为.p12文件填一个名字,点击存储:



填一个“密码”,“验证”和密码相同:



点击好,在桌面上就形成了一个.p12文件了:




在别人的电脑上要成功安装,须具备两个文件:

该证书导出的“.p12”文件。

苹果开发者中的与“证书”对应的“描述文件”

如果需要用于开发的,那么需要这两个文件:

.p12文件本身就是一个加密的证书,所以用这两个文件就可以让其他mac设备使用了:



 

拿到这两个文件后,依次双击“证书”,“.p12“文件(需要输入密码,密码就是当时生成.p12时设定的密码,),作用是加入钥匙串中,使我们的电脑具备开发的证明,”描述文件“(作用是置于xcode中,让xcode知道我们开发的合法性),添加完后就可以使用了
http://blog.csdn.net/lanergaming/article/details/38785533
1,开发证书 CER文件



这个文件的申请请去 http://blog.csdn.net/lanergaming/article/details/38784925

根据前边的博客大家已经知道证书、公钥、私钥的关系了。

苹果的这个开发者证书也是同样的原理,本地的request文件里包含开发者的个人信息和公钥,提交给苹果。

然后经过一系列的操作后最终可以得到一个可用的证书文件(CER文件)。所以这个CER证书里包含了开发者信息和公钥。

当开发者下载并双击打开后,这个文件会出现在钥匙串里。它与本地钥匙串里的私钥匹配之后,开发者就可以使用它了。

另外开发者证书是有develop版,和distribution版本的。

develop版主要是用于开发者调试真机来使用;distribution版本是用来分发版本用的,包括(adhoc 和 app store)。

2,证书P12文件



当CER安装到本地并与本机的私钥吻合之后。我们一般会给证书做个备份,这个备份就是个P12文件。

这个p12文件很好用,它不仅包含CER的信息,还有私钥信息,即: P12备份文件 = CER文件  + 私钥;所以有了这个p12就再也不用担心证书丢失了。

3,mobileprovition文件

如果说开发证书让苹果相信了你是一个合法的开发者的话,那么这个许可证就是为了让

你调试的真机设备(iPhone,ipad)被认为是个合法的测试设备。这个许可证就是设备的信任凭证。

当APP安装到真机上的时候,APP里的许可证信息和iPhone里的许可证如果匹配的话,就可以装的上了,否则就没法装上的。

许可证也分几种类型:develop版,adhoc版,appstore版本。这里说一下adhoc,这个版本主要是用于内部测试的版本。比如APP上线前,需要N轮的QA测试。这个就是给他们测试的。测试没问题了,再打appstore版本,测试无误后提交苹果商店。

总结:



所以大家明白了,要想打出一个可用安装在iPhone上的一个测试版本,开发者必须要有:1,开发者证书+私钥;2,许可证文件。两证齐全方可打包成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: