简单的理一下iOS应用打包用到的Certificate与Provision Profile的关系

1.Certificate ——证书

1.1证书是什么?

百度百科是这么解释的:

由此,知道证书是由权利机关办法的用以证明资格或权利的文件.

1.2 我们向Apple申请证书是在干什么?

我们向Apple申请证书,就是在向权利机关(Apple)申请资格(开发/推送/发布..).而Apple颁发给我们的证书就是对资格的证明.

1.3 申请证书时,为什么要有CSR?

我们来看一下申请证书时的提示:

翻译一下:

当CSR文件创建的时候,会自动生成一对私钥和公钥.私钥存储在本地电脑.mac上,私钥存储默认存储在登录钥匙串中,可以在钥匙串的分类钥匙下查看.请求到的证书会包含公钥部分.

证书拿到手,最重要的一件事是如何证明这个证书是你的.不是假的,不是别人的.

CSR就提供了如何证明的方法.

CSR生成的同时,生成一对私钥公钥,私钥保存在本地,用来加密数据或者解密公钥加密的数据.公钥包含在CSR中,Apple用来加密数据及解密私钥加密的数据.这样就像把数据放在带锁的箱子中传递,使得Apple可以通过公钥来验证你就是你.

1.4 为什么要通过.p12来传递证书?

因为直接从Apple下载的证书只有公钥,没有私钥.没有办法证明这个证书是你的(潜台词:没有办法证明你有这个权利).而从本地钥匙串中导出.p12文件是包含私钥的,换句话说,可以把证书上描述的权利赋予他人.

2.Provision Profile ——描述文件

2.1 描述文件是什么?

描述文件,顾名思义,就是描述应用的文件.

2.2 描述文件描述什么?

如图:

注意到描述文件里边包含了App ID , Certificates , Devices. 说明生成描述文件需要用到这些信息.

那么再来对照一下Developer/Certificates, Identifiers & Profiles

看着这个排布顺序,有没有感觉Provisioning Profiles 在最后就是对上面信息的总结呢?

(当然,描述文件中还有其他信息,这里着重点明开发者时常操作的配置间的关系)

3.XCode中Code Signing的配置

3.1 Code Signing  —— 代码签名

使用证书中公钥对应的私钥对代码进行签名(加密代码).应用在安装之后会用公钥解密,来验证应用的合法性(来源可信,内容完整).

3.2 注意事项

1.证书一定要有对应私钥.

如果是别人传递的,一定要通过生成.p12文件的方式.

2.要有对应描述文件的证书.

本地要保留有描述文件中包含的证书.

iOS 理解证书与描述文件相关推荐

  1. ios开发证书,描述文件,bundle ID的关系

    http://www.jianshu.com/p/21ebca8cadf6 关键词有:个人开发者账号,企业开发者账号,bundle ID,开发证书,发布证书(又叫"生产证书"),开 ...

  2. ios私钥证书和描述文件.mobileprovision的生成方法

    苹果官方提供的创建私钥证书的方法需要使用mac电脑,但我们很多人没有mac电脑,这样我们就需要使用第三方工具来申请ios证书. 在这里我推荐使用香蕉云编这个在线工具: https://www.yune ...

  3. IOS项目证书,描述文件等生成和配置 整理

    关键词:CSR,证书,描述文件,AppIDs,Device,p12,itunes connect 第一步.认清楚自己的苹果开发者账号 很显然你的账号是个人账号 第二步.生成CSR文件 Mac系统,钥匙 ...

  4. [iOS]开发者证书和描述文件的作用

    先说下证书吧. 然后是描述文件 转载于:https://www.cnblogs.com/wangqi1221/p/5240273.html

  5. ue4 清除 ios的证书与描述文件

    [UE4]删除旧的mobileprovision文件(clean ios mobileprovision history) 转载 https://dawnarc.com/2018/03/ue4%E5% ...

  6. iOS 开发者证书、描述文件等详解

    https://www.cnblogs.com/lrr0618/p/5388350.html

  7. iOS证书和描述文件申请

    首先你需要有一个苹果的 开发者帐号,一个 Mac系统. 如果没有开发者账号,可以先申请一个开发者账号,申请流程详见: iOS公司开发者账号申请教程. 如果你已经有了一个IDP,打开 https://d ...

  8. iOS开发零基础教程之证书、描述文件、App ID的解释

    本讲主要内容: 1.什么是证书(P12文件)Certificates 2.什么是Identifiers标示符 3.如何添加Devices设备 4.什么是描述文件Provisioning Profile ...

  9. 蒲公英内侧:项目打包成ipa文件,创建证书和描述文件流程

    iOS开发和软件测试有两种测试方法. 第一种:iOS开发人员发写好的工程传到SVN服务器上面,由测试人员下载项目代码,配置好编译环境,用xcode打开,然后在手机端运行检查bug. 第二种:iOS开发 ...

最新文章

  1. Spring Boot + Elasticsearch
  2. python turtle画熊-用Python Turtle 画可爱的熊猫
  3. 三十天学不会TCP,UDP/IP网络编程-TraceRoute的哲学
  4. 实战:基于 Spring 的应用配置如何迁移至阿里云应用配置管理 ACM
  5. Oracle浅谈第六回
  6. 使用XPathExpression类对XML文件进行排序
  7. putty mtputty 设置utf8编码
  8. java中自定义异常类
  9. web前端入门:CSS 样式书写规范
  10. java访问rabbitMQ 一
  11. 大文件编辑查看工具推荐:ultraedit、logviewer。文件太大notepad++等编辑工具无法打开解决办法
  12. skyline在海洋及管线类3DGIS应用综述
  13. java中的打印pdf_Java 打印PDF文档
  14. 蓝桥杯练习------python字符串逆序
  15. OSChina 周日乱弹 —— 前女友给你邮寄了一本书
  16. Invalid bound statement (not found): com.zheng.mapper.UserMapper.login
  17. pyTest官方手册(Release 4.2)之蹩脚翻译(6)
  18. 泰服游戏服务器如何显示中文,【战争机器不能显示中文怎么解决】如何解决_战争机器中文设置教程_游戏城...
  19. 已成功与服务器建立连接,但是在登录过程中发生错误。
  20. 天涯共此时--中秋赏古诗

热门文章

  1. 吴恩达机器学习笔记---正规方程及推导
  2. 日常英语口语练习-情景交际场景25(二)
  3. python量化交易相关资料
  4. 求一组数中的最大值、最小值及总和
  5. 追求卓越的Stewart
  6. 2003-2019年各省专利申请和授权量数据/2003-2019年31省专利申请和授权量数据
  7. 积水的城市(SPFA)
  8. 【软件工程习题答案】第四章 面向对象范型
  9. Elasticsearch:Dynamic templates
  10. 押注电动化和自动驾驶的关键零部件,博世国产第二代 iBooster 智能助力器