苹果撤销开发者证书后,所有用其签名的macOS软件会提示“无法验证开发者”;需通过右键强制打开、清除隔离属性或重签名+公证修复。
开发者证书被苹果撤销后,所有用该证书签名的软件在 macos 上都会触发“无法验证开发者”或“无法验证完整性”提示。这不是你本地系统的问题,而是签名本身已失效——系统拒绝信任已被官方吊销的身份。解决的核心思路是:绕过当前无效签名的信任链,或让软件重新获得有效签名。
确认证书确实已被撤销
先验证问题根源,避免误判:
- 打开终端,运行:
security find-identity -v -p codesigning - 查找输出中是否有以 Developer ID Application 开头的条目,且状态显示 REVOKED(而非 EXPIRED);若看到 "Policy: X.509 Basic 且无 Developer ID 条目,大概率证书已被移除或吊销。
- 访问 Apple Developer 账户 → Certificates 页面,确认对应证书状态是否为 Revoked。
用户端临时可用方案(无需重签名)
证书虽撤销,但若你完全信任该软件来源(如官网直接下载、内部工具),可手动放行:
- 右键强制打开:在访达中按住 Control 键点击 .app 或 .pkg 文件 → 选择“打开” → 在弹窗中点“打开”。该操作仅对本次生效,系统会将此文件标记为已授权。
- 从“隐私与安全性”中点“仍要打开”:首次双击拦截后,立刻进入 系统设置 → 隐私与安全性 → 安全性 区域,找到对应提示行,点击右侧的 仍要打开(按钮约1小时后自动消失)。
-
清除隔离属性(xattr):适用于已下载但卡在验证环节的文件。
终端执行:
xattr -d com.apple.quarantine /路径/到/应用.app
注意替换实际路径,空格需用反斜杠转义或加英文引号。
开发者必须做的修复动作
如果你是软件发布者,证书撤销意味着旧版安装包永久失效,必须重建信任链:
- 登录 Apple Developer 账户,生成一张新的 Developer ID Application 证书,并下载安装到钥匙串。
- 使用新证书对应用重新签名:
codesign --force --sign "Developer ID Application: XXX" --deep --options=runtime /路径/到/应用.app - 必须完成 公证(Notarization):上传至 Apple 服务扫描,再用 stapler 将票据钉入:
xcrun notarytool submit /路径/到/应用.pkg --keychain-profile "AC_PASSWORD" --wait
xcrun stapler staple /路径/到/应用.pkg - 分发前验证是否成功:
spctl --assess --verbose /路径/到/应用.app 应返回 accepted;
codesign --display --verbose=4 /路径/到/应用.app 应显示新证书信息且无“revoked”字样。
不推荐但应急可用的全局调整
仅限高度可信环境(如开发测试机)且短期使用:
- 终端执行:sudo spctl --master-disable,然后前往 系统设置 → 隐私与安全性 → 安全性,解锁后选择 任何来源。
- ⚠️ 注意:该设置会禁用 Gatekeeper 对所有应用的签名检查,包括潜在恶意软件。用完务必恢复:
sudo spctl --master-enable,并改回“App Store 和被认可的开发者”。


















