iOS底层基础知识程序员

iOS签名机制『理解指南』

2018-05-25  本文已影响281人  Developer_Yancy

Xcode7之前进行真机调试需要进行以下繁琐步骤:
1.生成CertificateSigningRequest.certSigningRequest文件
2.获得ios_development.cer\ios_distribution.cer证书文件
3.注册device、添加App ID
4.获得*.mobileprovision文件
注意:Xcode7以后也是需要这些繁琐步骤的,只是如果你勾选了[Automatically manage signing],Xcode会自动帮你完成以上的步骤而已。

为什么需要这么繁琐的步骤?

为了安全!
如何保障安全? --通过应用代码签名机制和沙盒机制

应用代码签名(App code signing)

『iOS 内核启动后, 它将控制哪些用户进程和应用可以运行。 为确保所有应用均来自批准的
已知来源并且未被篡改, iOS 要求所有可执行代码均使用Apple颁发的证书进行签名
设备附带的应用(如 “邮件” 和 Safari 浏览器)由Apple签名。 第三方应用也必须使用
Apple颁发的证书进行验证和签名。 强制性代码签名将信任链的概念从操作系统扩展至
应用, 防止了第三方应用加载未签名的代码资源,或使用自修改代码。
······
与其他移动平台不同, iOS 不允许用户安装来自网站的潜在恶意未签名应用或者运行不受信任的代码。运行时,会在加载所有可执行内存页时对这些内存页进行代码签名检查,以确保应用自安装或上次更新之后未被修改过。』
—— 引用自《iOS_Security_Guide》第18页

iOS APP签名流程

参考拓展资料

上一篇 下一篇

猜你喜欢

热点阅读