Mac安装应用提示“签名无效”需先用xattr和codesign命令定位是隔离标记还是真签名失效,再通过右键打开、清除隔离+重签名或换新版安装包针对性解决,而非关闭Gatekeeper。
mac 安装应用时提示“签名无效”,不是文件损坏,而是 gatekeeper 在验证开发者签名时失败——常见于证书过期、安装包未公证、系统时间不准或下载后被标记隔离。解决重点是定位失效环节,针对性修复,而不是关掉安全机制。
先确认是不是签名真失效
打开终端,运行以下命令(把 你的应用.app 替换为实际路径):
xattr -l /Applications/你的应用.app
如果输出里有 com.apple.quarantine,说明只是被下载标记了,和签名无关;清掉就能开。
如果没有 quarantine,但双击报“无法验证开发者”“证书已过期”,再运行:
codesign --display --verbose=4 /Applications/你的应用.app
看输出中是否有 expires 且日期早于今天,或出现 invalid signature 字样——这才是签名真正失效。
右键打开 + 手动放行(最安全快捷)
适合临时使用、不想改系统设置的情况:
- 在访达中找到应用图标,按住 Control 键点击
- 选“打开”(不是双击,也不是“显示简介”)
- 弹窗点“仍要打开” → 再点“打开”
成功后,系统会记住这个授权,后续双击即可启动。
清除隔离 + 强制重签名(推荐常用户)
仅清 quarantine 不够,签名过期必须重建签名才能通过 Gatekeeper:
- 先清除下载标记:sudo xattr -r -d com.apple.quarantine /Applications/你的应用.app(拖入路径更安全)
- 再执行重签名:sudo codesign --force --deep --sign - /Applications/你的应用.app
- 若提示 no identity found,说明缺开发工具,先运行 xcode-select --install
重签名后,用 codesign --verify /Applications/你的应用.app 检查是否返回无错。
换新版安装包(治本方案)
签名过期往往意味着软件长期未更新,存在兼容与安全风险:
- 访问官网或 GitHub,确认是否有新版发布(签名有效期通常 1–2 年)
- 旧 dmg 或 zip 可能被缓存,务必重新下载最新安装包
- Homebrew Cask 用户可直接运行 brew reinstall 应用名 获取带新签名的版本
比如 Office 2016、Lync 2011 等老软件,微软已提供替换安装包,用新版即可彻底避开证书无效问题。

















