直接用终端命令即可查清指定软件的数字签名和证书颁发机构:运行codesign -dv --verbose=4 "/applications/xxx.app",重点关注valid on disk(yes为完好)、authority(如developer id application: acme inc.)和notarized(yes为已公证)。
直接用终端命令就能查清指定软件的数字签名和证书颁发机构,不需要打开图形界面或第三方工具。核心是 codesign 命令,它能读取应用包内嵌的签名元数据,包括签发者(authority)、是否公证、文件完整性等关键信息。
查看完整签名信息(含证书颁发机构)
运行以下命令,把 XXX.app 替换为你想查的实际应用名(如 Postman.app 或 Visual Studio Code.app):
codesign -dv --verbose=4 "/Applications/XXX.app"输出中重点关注三行:
- valid on disk:显示 yes 表示签名未被破坏、文件未被篡改;no 则说明签名失效或内容已被修改
-
Authority:这就是证书颁发机构与开发者身份的组合,例如:
Developer ID Application: Acme Inc.(由 Apple 认证的第三方开发者)
Apple Distribution: Apple Inc.(苹果官方应用)
若显示 unidentified developer 或为空,说明签名无效或缺失 - Notarized:值为 yes 表示该应用已通过苹果公证服务扫描;Ventura 及更新系统对未公证的 Intel 应用默认拦截
快速验证签名是否有效(无输出即正常)
如果只想确认签名有没有问题,不用看细节,用这个简化命令:
执行后:
- 完全没输出 → 签名有效、文件完整
- 报错如 code object is not signed 或 invalid signature → 未签名、签名损坏或证书不可信
查系统预装应用(如 Finder、Safari)的签名
它们不在 /Applications,而是在 /System/Applications 或 /System/Library/CoreServices。需先查真实路径再验证:
- 运行 ps aux | grep -i "Safari.app",从结果中复制完整路径(如
/System/Applications/Safari.app) - 再执行 codesign -dv --verbose=4 "/System/Applications/Safari.app"
- 系统应用的 Authority 通常显示 Apple Mac OS Application Signing,且 valid on disk 必须为 yes;若为 no,可能 SIP 被禁用或系统受损
进一步确认证书链是否可信(进阶)
签名有效 ≠ 证书可信。要确认证书是否由系统信任的根 CA 签发、是否过期或被吊销,可补充执行:
- 提取签名证书信息:security find-certificate -p /Library/Keychains/System.keychain | openssl x509 -noout -text 2>/dev/null | grep -A1 "Subject\|Issuer\|Validity"
- 比对当前时间(2026年7月30日)是否在证书的 Not Valid Before 和 Not Valid After 时间范围内
- 检查 Issuer 是否属于系统预置的可信根证书(如 Apple Root CA、DigiCert Global Root 等)











