Mac开机弹出“证书已过期”提示,源于系统启动时校验到钥匙串中带红色❌图标的过期证书;需在“钥匙串访问”的【系统】→【系统根证书】中搜索expired并删除所有红❌证书,输管理员密码确认。

Mac开机后自动弹出“证书已过期”提示,说明系统在启动阶段检测到钥匙串中存在明确标记为过期的证书条目,且该证书被某些开机自启服务或系统组件调用——这不是偶然警告,而是每次启动时都会触发的主动校验行为。
定位并删除开机阶段触发弹窗的过期证书
系统在开机时会加载部分证书用于网络代理、设备管理或企业策略验证,若其中任一证书带红色❌图标,就会中断启动流程并弹窗。必须精准清除这类证书,否则每次重启都会重现。
按下 Command + 空格唤出聚焦搜索,输入“钥匙串访问”,回车启动应用。
左侧边栏依次点击【系统】→【系统根证书】,确保当前查看的是系统级根证书库;登录钥匙串中的过期证书通常不会在开机阶段触发弹窗,可暂不处理。
在右上角搜索框中输入 expired 并回车,立即筛选出名称含该关键词的证书;再手动滚动列表,重点查找状态栏显示红色❌图标的条目——这些才是开机弹窗的直接源头。
按住 Command 键,逐个点击所有红色❌证书(不要框选),右键→“删除”;若弹出管理员密码框,必须输入当前 Mac 的管理员密码才能继续,输错三次将锁定钥匙串访问 1 分钟。
修复被误标为过期但实际有效的关键证书
有些证书(如 Apple WWDRCA、DST Root CA X3、ISRG Root X1)因签名链变更或本地时间短暂偏移曾被系统标记为过期,但实际仍被大量服务依赖;盲目删除会导致 App Store 登录失败、iCloud 同步中断等连锁问题。
方法一:重置信任状态
在钥匙串访问右上角搜索框输入 DST Root CA X3 或 ISRG Root X1,双击打开证书→点击左下角「信任」三角箭头→在「使用此证书时」下拉菜单中选择「始终信任」→关闭窗口→输入管理员密码完成更新。
方法二:强制刷新系统信任策略(适用于方法一无效时)
打开终端,执行:sudo security trust-settings-export /tmp/trust.plist && sudo security trust-settings-import /tmp/trust.plist;输入管理员密码后无回显,回车即开始重载全部系统信任配置,绕过 GUI 缓存。
阻止系统在启动时加载异常证书
第一步:禁用开机自启服务对证书的主动轮询
终端执行:defaults write com.apple.security.revocation CRLDisable -bool true;该命令关闭证书吊销列表(CRL)的开机自动检查,避免因网络不可达或响应超时导致证书状态误判为过期。
第二步:清理残留的损坏证书缓存
终端执行:security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain > /dev/null 2>&1 || echo "system root cert check passed";若返回 error,说明系统根证书库存在结构性损坏,需运行 sudo pkill -f "securityd" 强制重启安全守护进程。
第三步:验证效果
重启 Mac,观察是否仍有证书过期弹窗;若弹窗消失,说明触发源已被切断;若仍出现,说明存在未被搜索到的自签名中间证书,需在钥匙串访问中切换至「登录」钥匙串,用关键词 charles、mitmproxy、mkcert 逐一排查并删除对应红❌条目。

















