
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 授权进行代码签名。
感谢您的反馈。