【问题标题】:Third-party certificate and Gatekeeper第三方证书和Gatekeeper
【发布时间】:2014-09-17 16:40:03
【问题描述】:

如何让使用第三方证书签名的应用通过 Gatekeeper?

我已经用我为 Windows 版本购买的那个签名了,如果我在“系统偏好设置”中选中了“Mac App 和标识符开发者”选项,它就无法执行。

这是我为签名执行的命令:

codesign --force --verify --verbose --sign "My cert" My.app

这是验证签名的命令:

codesign --verify --verbose=4 My.app

这是输出:

My.app/: valid on disk
My.app/: satisfies its Designated Requirement

我做错了什么?

谢谢。

【问题讨论】:

    标签: macos code-signing codesign osx-gatekeeper


    【解决方案1】:

    Gatekeeper 不接受第三方证书,只接受 Mac App Store 和 Apple Developer ID 证书。这样做的原因是,如果 Apple 发现签名的恶意软件正在分发,他们希望能够撤销用于签名的证书;这只有在 Apple 拥有颁发签名证书的证书颁发机构时才有可能。因此,出于 Gatekeeper 的目的,第三方证书被认为是不可信的。

    顺便说一句,您对codesign -- verify 所做的检查只检查签名是否与应用程序的内容匹配,而不是检查它是否被视为网关守卫有效的签名。为此,您需要spctl -va My.app(尽管请注意,这会根据您当前的 Gatekeeper 策略对其进行检查,因此如果您将 Gatekeeper 设置为仅 Mac App Store,它会将开发人员 ID 签名的应用程序报告为“已拒绝”)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      • 1970-01-01
      • 2014-08-23
      • 2021-08-03
      • 2016-09-27
      • 1970-01-01
      相关资源
      最近更新 更多