【问题标题】:Signing libraries in Mac App Store app在 Mac App Store 应用程序中签名库
【发布时间】:2011-10-29 02:31:22
【问题描述】:

我刚刚向 Mac App Store 提交了一个使用一些外部动态库的应用。

我收到一封来自 Apple 的电子邮件:

无效签名 - 可执行的 something.app/Contents/Frameworks/some.dylib 未签名,签名无效,或未使用 Apple 提交证书签名。有关详细信息,请参阅代码签名和应用程序沙盒指南。

问题当然是因为我只签署了“我的”可执行文件,而不是库。

即使它们不是由我编写的,也对库进行签名是常见/良好的做法吗?

【问题讨论】:

    标签: macos code-signing mac-app-store


    【解决方案1】:

    认为对文件进行数字签名:

    1. 一种验证该文件完整性的方法,从而可以检测它是否被修改;

    2. 一种验证谁发布该文件的方法,这与编写相应的源代码不同。您正在证明确实是您发送了该文件。

    由于动态库包含可执行代码,因此最好对它们进行数字签名(在某些情况下,例如 MAS,这是强制性的),其原因与您签署主可执行文件的原因相同:确保您的应用程序完全符合您的要求(只有你)已经从你的构建机器发货,没有任何变化。一个正在运行的程序包括主可执行文件和所有加载的库。如果您只对主可执行文件进行签名,而对动态库不签名,则可以更改动态库(甚至替换它们),从而改变程序的功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-19
      • 2014-09-23
      相关资源
      最近更新 更多