行业资讯 > 苹果的签名机制是什么?

苹果的签名机制是什么?

2021.12.02


苹果签名是苹果向开发者提出的一种机制。开发者使用企业开发者账户签署应用程序后,应用程序可以安装在ios设备上,而无需上架。苹果签名的机制是什么?在iOS出来之前,以前的主流操作系统(Mac/Windows)软件可以随意下载运行,系统存在安全隐患,如盗版软件、病毒入侵、静默安装等。


如果苹果想解决这个问题,就必须保证每一个安装在iOS上的应用都是苹果官方允许的,那么如何保证呢?就是通过苹果签名。相信很多朋友都听说过苹果的签名,但苹果的签名机制是什么呢?今天,小编将带您了解苹果的签名机制。




苹果签名的机制:

要实现验证,最简单的方法就是由苹果官方生成一对不对称加密的公开密钥。iOS系统内建公钥,苹果后台保存私钥。在把 App转移到 AppStore的时候,苹果会在应用程序数据上签名。iOS设备下载 App之后,用公钥验证签名。若签名正确,证明 App是苹果后台认证的,不做任何修改,达到苹果的目的。


假如我们的 iOS设备安装 App只是 AppStore这个入口,事情就简单多了,一个数字签名就可以完成了。但事实上 iOS安装 App有其它途径,举例来说,开发者需要进行实际的调试,而且苹果已经打开了企业内部的发布渠道,对企业证书进行签名的应用程序也需要顺利安装。Apple需要打开这些方法来安装应用程序,这样简单的代码签名就无法实现。


双层签名认证:

iOS的两层代码签名过程在这里简单地梳理一下,这也不是最终的 iOS签名原则, iOS最后的签名还会有一点变化。先说两个角色:一个是 iOS系统,另一个是 Mac系统,因为 iOS的 APP开发环境是在 Mac系统之下。因此,这种依赖性就成了苹果双层签名的基础。Mac系统能产生一对公私密钥:在 Mac公钥中, Mac私钥在 Maciphone设备中有内置的公钥 Apple,与苹果服务器上的私钥 Apple对应。


签名流程如下:

1、在 Mac上创建了一个密钥对(公钥 Mac和 Mac),也就是说,通过 Keys中的“从证书颁发机构请求证书”中创建了私钥本机,公钥包含在CertificateSigningRequest文件中。

2、将CSR文件上传到苹果服务器,苹果服务器将私钥Aple加密成CSR的哈值(证书包含公钥Mac及其私钥Apple加密的哈希值)。

3、在开发编译阶段结束时,Mac将使用私钥Mac(1文件)签名,并将上一步获得的证书包装到应用程序中。此时,应用程序包含上一步生成的证书(证书包含公钥Mac及其私钥应用程序加密的哈希值)。

4、iPhone设备安装App时,首先通过内置公钥Apple解密上一步的哈希值获得证书,然后获得公钥Mac。如果解密成功,说明证书是苹果颁发的,然后可以用公钥Mac解密App的签名,因为App是通过Mac签名的,此时可以验证成功安装。


App重签名:

根据以上签名原则,App的签名是由本地Xcode完成的,所以我们可以在工程编译完成后的目录中放一些IPA包,让Xcode误以为这个IPA是我们工程编译产生的,然后用自己的bundleid和证书签名,从而实现App的重签。


上一篇: TF签名是一种可以让应用避开App Store的审核 下一篇: 为何App的开发非常依赖苹果企业签名呢?
/企业签名/TF签名
/企业签名/TF签名-QQ咨询 QQ咨询
/企业签名/TF签名-客服微信

添加客服微信