直接用终端命令可全面验证macos安装程序签名:通过codesign -dv --verbose=4查authority、teamidentifier和valid on disk;用xattr和spctl确认公证状态;以security和openssl验证证书链可信度;最终综合判断签名完整性、有效性、公证及证书链四维度。

直接用终端命令就能查清 macOS 安装程序(.pkg 或 Install macOS.app)的签名是否完整、有效、可信——不需要第三方工具,系统自带命令组合即可覆盖签名存在性、有效性、公证状态和证书链可信度四个关键维度。
看签名是否存在且结构完整
运行命令:
codesign -dv --verbose=4 "/path/to/Install macOS Sonoma.pkg"
重点确认三项输出:
- Authority:必须显示类似 Apple Distribution: Apple Inc. 或 Developer ID Installer: XXX Inc.;若为 adhoc、unidentified developer 或为空,说明签名缺失或无效
- TeamIdentifier:应为非空字符串(如 EQHXZ8M8AV),为空代表未用合法证书签名
- valid on disk:值为 yes 表示文件未被篡改;no 则签名已损坏或内容被修改
确认是否通过苹果公证
公证是 macOS Ventura 及更新版本强制要求的环节。分两步验证:
先查扩展属性是否存在公证票据:
xattr -pl com.apple.quarantine "/path/to/Install macOS Sonoma.pkg"
若输出含 ticket=1,说明系统曾成功获取并缓存过公证信息;若报错 No such xattr 或显示 ticket=0,表明未公证或票据失效。
再用 Gatekeeper 引擎做最终裁定:
spctl --assess --type install --verbose=4 "/path/to/Install macOS Sonoma.pkg"
输出含 accepted 才代表签名+公证均通过;若为 rejected、invalid 或提示 source=Unnotarized,说明未通过苹果安全审查。
验证证书链是否可信
签名有效 ≠ 证书可信。需确认证书未过期、未被吊销,且可上溯至苹果信任根:
先提取签名要求:
codesign --display --requirements - "/path/to/Install macOS Sonoma.pkg"
再检查系统信任的根证书是否包含签发者:
security find-certificate -p /System/Library/Keychains/SystemRootCertificates.keychain | openssl x509 -noout -text 2>/dev/null | grep -A1 "Validity\|Subject\|Issuer"
比对 Not Valid Before 和 Not Valid After 时间段是否覆盖当前时间(2026年7月8日)。时间偏差会导致验证失败。
快速综合判断(一行收尾)
把关键逻辑打包成一条命令,直观反馈整体状态:
echo "=== Signature ==="; codesign -dv --verbose=2 "/path/to/Install macOS Sonoma.pkg" 2>/dev/null | grep -E "(Authority|valid on disk|Notarized)"; echo "=== Notarization ==="; spctl --assess --type install --verbose=2 "/path/to/Install macOS Sonoma.pkg" 2>/dev/null; echo "=== Certificate Chain ==="; security find-identity -v -p codesigning 2>/dev/null | head -3
输出中 Authority 显示 Apple 签发、valid on disk = yes、Notarized = yes、spctl 返回 accepted、且 find-identity 列出有效证书——即表示签名完整性验证通过。











