【问题标题】:How does iOS verify the app bundle?iOS 如何验证 app bundle?
【发布时间】:2011-09-16 18:27:23
【问题描述】:

我知道 app bundle 是由 Apple 签名的,因此无法修改,我想知道的是 iOS 是否真的读取了整个 bundle 并重新计算了 bundle 的签名,或者他们使用了一些技巧。对于较大的应用程序,400MB+ 似乎散列整个捆绑包将花费大量时间。有没有加快验证的技巧?

关于奖励积分:iOS 将签名存储在哪里?在钥匙串里?

【问题讨论】:

    标签: iphone objective-c ios encryption hash


    【解决方案1】:

    代码签名是应用程序包中的一个文件,例如,在 Whatre.app/_CodeSignature/CodeResources 中。它不需要整个包的哈希值——只需要里面的一些东西,比如二进制文件和 Info.plist。这就是为什么您可以在代码签名的应用程序中交换资源(例如 OS X 系统安装的应用程序之一,这些应用程序几乎都是 Lion 的代码签名),而不会导致系统拒绝运行它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-01
      • 2018-09-30
      • 2021-01-15
      • 1970-01-01
      相关资源
      最近更新 更多