研究了一下 Catalina 开始几种乱七八糟的 Gatekeeper 机制,笔记:

启动 app 时几种不同的提示框:

  • 对于 Mac App Store 分发的 app
    • 由苹果签名(开发者的 WWDR 证书只用于本地测试和提交 iTunes Connect)
    • 不需要 Notarization(因为 MAS 本身就需要审核)
    • 运行无任何提示
  • 对于自行分发的 app
    • 必须用开发者的 Developer ID 证书签名,并且经过 Notarization (2019-06-01 后)才能在 macOS 10.15+ 上打开
      • 否则,系统要求用户删除软件(小字提示为 “macOS cannot vertify that this app is free from malware”,但可以通过右键打开绕过)
    • 即使已经签名 + Notarization,因为自行分发的 app 是从网上下载,仍然会被打上 quarantine 的 xattr,因此第一次打开无论如何需要手动允许(小字提示为 “Apple checked it for malicious software and none was detected.”)

证书被吊销的后果:

  • WWDR Cert 被吊销:app 可以继续用(因为 MAS app 是苹果签名的),开发者不能再上传 app
  • Developer ID 证书被吊销:app 不能打开,但因为 OCSP 有缓存,用户感知可能存在延迟

References:

Please be advised that this post was written or last updated a while ago and may therefore contain outdated information or opinions I no longer hold.
请知悉本文自写作或上次更新已届相当时限,或包含过时信息及观点。