源码

iOS App签名的原理

iOS的签名机制很复杂,各种证书,Provision Profile,entitlements,CertificateSigningRequest,p12,AppID,这篇文章从概念出发,一步一步推出为什么会有这么对概念,希望能有助于理解iOS的App签名的原理。

目的

在iOS出来之前,在主流操作系统(Mac,Windows,Linux)上开发和运行软件是不需要签名的,软件随便从哪里下载都能运行,导致平台对第三方软件很难控制,盗版盛行。苹果希望解决这样的问题,希望iOS平台对第三方App有绝对控制权,一定要保证每一个安装到iOS上的App都是经过苹果官方允许的,怎么保证呢?就是通过签名机制。

最简单的实现

要实现这个需求很简单,最直接的方式,苹果官方生成一对公私钥,私钥由苹果后台保管,公钥内置到iOS设备里,在我们将App上传到App Store上时,苹果后台使用私钥对App进行签名,iOS设备下载这个应用后,用公钥验证这个签名,若签名正确,则说明这个App是经过苹果后台认证的,并且没有被修改过,这样也就达到了苹果的目的:保证iOS设备安装的每一个APP都是经过苹果官方允许的。

(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/ios-appqianmingdeyuanli.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:11 月 8, 2018 at 08:40 下午

热评文章

发表回复

[必填]

我是人?

提交后请等待三秒以免造成未提交成功和重复