跳到主要内容

代码签名与分发

问题

iOS 代码签名的原理是什么?分发方式有哪些?

答案

签名验证流程

证书类型

类型用途设备限制
Development开发调试注册设备(100台)
Ad Hoc内测分发注册设备(100台)
Enterprise企业内部不限设备
App Store正式发布所有设备

Entitlements

App.entitlements
<dict>
<key>aps-environment</key>
<string>production</string>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:example.com</string>
</array>
</dict>

常见面试问题

Q1: 重签名攻击是什么?如何防御?

答案:攻击者用自己的证书对 ipa 重签名,注入恶意代码。防御方式:在代码中检查 embedded.mobileprovision 的 Team ID 是否匹配,或使用 App Attest 进行设备完整性验证。

相关链接