一个苹果证书如何多次使用——导出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,许可证文件。两证齐全方可打包成功。
相关文章推荐
- 创业这10种死法,你死在哪一种了
- oracle正则表达式函数 substr instr简单分析
- MyEclipse快捷键大全
- Tomcat生成https+ssl双向证书认证(jdk)
- base64加、解密实现方法
- Ceph RBD终端连接方案
- ADB and linux命令
- Android中自定义仿IOS回弹效果的ListView
- 屏幕适配相关知识点
- mysql学习——DATE_SUB()&EXTRACT() 函数
- 今天搞明白了内些传说中的硬件
- 各js取值。
- 免费的编程中文书籍索引
- PHP大神的十大优良习惯
- ASP.NET图片上传实例(附源码)
- MySQL提供的可以计算两个时间间隔的函数
- XML Publish开发--特殊字符转换
- 众数问题
- 当前进程(Linux Devices Driver)
- raid 0,1,10,5特性