4

Apple 似乎将某些 OS X API(例如沙盒)限制在由受信任证书代码签名的应用程序中,例如向付费 Mac 开发人员计划的成员颁发的应用程序。

OS X 如何处理使用自签名(或开发)证书进行代码签名的应用程序?

  • 这些功能/API 是否可用,唯一的区别是具有默认 Gatekeeper 设置的用户不能(轻松)启动这样的应用程序?
  • 他们是否会在各个方面都像未签名的应用程序一样被对待(禁用权利和沙盒,对 Gatekeeper 用户发出警告)?
  • 或者自签名证书是否会被视为错误,无论用户的 Gatekeeper 设置如何,应用程序都不会启动?
4

1 回答 1

5

AFAIK,未使用 Gatekeeper 接受的证书进行代码签名的应用程序将被视为未签名。我不知道对特定功能和 API 的访问。

但是您可以让 Gatekeeper 接受您的自签名证书。如果您使用不是由 Apple 颁发的证书对代码进行签名,那么您想要运行已签名的代码的每台机器都必须 (a) 安装您的证书,并且 (b) 通过spctl命令设置策略,告诉Gatekeeper 允许执行和/或安装由该证书签名的代码。这部分已经在 Mavericks 上进行了测试和验证。

内核扩展更加困难。我仍在努力。:-)

于 2014-11-09T23:44:12.857 回答