首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS代码签名

iOS代码签名
EN

Stack Overflow用户
提问于 2016-12-05 19:17:52
回答 1查看 285关注 0票数 2

我理解RSA密码学背后的数学原理,然而,我很难将其与苹果的行话和认证过程相协调。我们有以下实体:

  • 我的私钥对
  • 苹果的密钥对
  • 我的发展证书
  • 我的分发证书
  • 苹果全球开发者关系证书
  • 我的开发供应配置文件
  • 我的分发配置配置文件

以及以下不同的运行模式:

  • 从apps运行应用程序
  • 运行用于beta测试的应用程序。
  • 在开发环境/调试中运行应用程序

所有这些是如何共同完成这个目标的?所谓“一起工作”,我的意思是,什么标志,什么时候,什么地方。

我目前的刺痛是:

  1. 我生成一个公钥/私钥
  2. 我发出了一个来自苹果的证书请求:我把我的公钥和一些关于我是谁的信息发送给他们,并使用我的私钥对此签名。然后,苹果使用一些密码哈希来验证信息,而我确实拥有这个公钥。然后,苹果公司将我的信息与注册的苹果开发者进行核对,如果一切都得到确认,就会发出一个证书(包括我的公钥),并使用他们的私钥对整个信息进行签名。可以有不同的证书签署的苹果出于不同的目的。
  3. 我包括此证书--任何我想在其上运行我的代码的配置文件(作为ipa的一部分,或者其他)
  4. 当我试图在设备上运行一个应用程序时,设备意识到它不是由Apple直接签名的,它会查看我安装在上面的配置配置文件
  5. 如果App签出,并且它是列出的注册设备之一,它将查看证书
  6. 它使用Apple的公钥检查证书的签名,以验证证书是否由Apple签名,从而使设备能够信任证书的真实性
  7. 然后,它使用包含在证书中的公共密钥检查代码签名的应用程序,如果它匹配,那么它就知道一个可信的开发人员代码-签署了该应用程序。
  8. 现在可以运行应用程序了

我不知道苹果的全球证书是用来做什么的?

EN

回答 1

Stack Overflow用户

发布于 2016-12-06 00:01:22

通过开发人员门户创建的配置文件由Apple签名。您的供应配置文件中包含您的证书,因此ipa的codesign标识必须与配置文件中的证书匹配。当应用程序启动时,iOS可能正在检查codesign是否与供应配置文件匹配,以及配置配置文件是否有效。当profile是开发/即席的时候,它也会检查设备是否有启动应用程序的权限。此外,当app被提交给ITC (对于AppStore或TestFlight)时,苹果会使用他们的证书/密钥对其进行签名和加密。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40981694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档