macOS 中的 App 代码签名进程
App Store 中的所有 App 均已由 Apple 签名。此签名的设计旨在确保它们不会被篡改或修改。Apple 设备附带的所有 App 均由 Apple 签名。
在 macOS 10.15 中,不在 App Store 中分发的所有 App 必须由开发者使用 Apple 签发的开发者 ID 证书(和专用密钥)进行签名并由 Apple 公证,以便在默认的“门禁”设置中运行。企业内部开发的 App 也应使用 Apple 签发的开发者 ID 进行签名,以便用户可以验证其完整性。
在 macOS 中,代码签名和公证独立工作,并可由不同的实施者执行,以实现不同的目的。代码签名由开发者使用其开发者 ID 证书(由 Apple 签发)执行。对此签名的验证可向用户证明自开发者构建软件并签名以来,其软件未被篡改。公证可由软件分发链中的任何人执行,并证明已向 Apple 提供代码副本以检查恶意软件且未发现已知的恶意软件。公证的输出为票据,储存在 Apple 服务器上,可选择(由任何人)包含在 App 中,而不会使开发者的签名失效。
强制访问控制 (MAC) 需要代码签名以启用受系统保护的授权。例如,需要通过防火墙访问的 App 必须使用合适的 MAC 授权进行代码签名。
感谢您的反馈。