Mac系统中过期或无效证书需通过钥匙串访问精准删除并重设信任,再重启trustd服务:先筛选红色❌或黄色⚠️证书删除,再将Charles Proxy等必要证书设为“始终信任”,最后执行sudo killall -HUP trustd刷新缓存。

Mac系统中残留的过期、无效或不再使用的证书会干扰HTTPS抓包、导致浏览器报错、影响开发环境信任链,甚至引发Office或Adobe软件激活异常。必须从钥匙串访问界面精准识别并删除,不能仅靠清空缓存解决。
定位并筛选出异常证书
钥匙串访问是macOS唯一集中管理证书的官方工具,所有证书无论来源都归于此处。不先筛选就盲目删除,极易误删系统根证书导致全系统网络异常。
按下 Command + 空格键 唤出聚焦搜索,输入“钥匙串访问”并回车启动应用。
左侧边栏确认选中“登录”钥匙串;若怀疑是系统级问题(如Safari全局报错),再依次点击“系统”和“系统根证书”进行比对。
在右上角搜索框中输入 expired 或 过期,部分证书名称直接包含该词,可快速暴露失效条目。
点击顶部菜单栏“查看”→“显示状态栏”,此时窗口底部出现状态栏——重点观察图标:红色❌表示已过期或签名失效,黄色⚠️表示信任设置异常,这两类必须处理。
安全删除目标证书
只删除明确带❌或⚠️图标的证书,其他未标识证书一律跳过。误删Apple Root CA或ISRG X1等根证书会导致整个系统HTTPS访问失败。
按住 Command 键 多选所有红色❌图标证书;若需清理一批黄色⚠️证书,也一并加入选择范围。
右键选中项 → 选择“删除”,或直接按键盘 Delete 键。
弹出确认窗口时点击“删除”;若证书位于“系统”钥匙串中,系统将要求输入管理员密码,输入后即完成移除。
重设关键证书为“始终信任”
有些证书(如Charles Proxy、Apple WWDR、mkcert生成的本地CA)并未过期,但因默认信任策略为“使用系统默认”,实际被判定为不信任。这类证书必须手动修正,否则抓包或iOS开发仍失败。
方法一:在钥匙串访问中搜索关键词,例如“Charles Proxy”“AppleWWDRCA”“mkcert”等,定位到对应证书条目。
双击该证书打开“显示简介”窗口 → 点击左侧“信任”三角箭头展开设置项。
在“使用此证书时”下拉菜单中,选择始终信任;关闭窗口时系统会提示输入密码,验证后证书右下角❌将变为绿色➕。
方法二:若证书名不明确,可按创建时间排序,筛选近30天内新增的证书,逐个检查“信任”设置项是否被意外改为“从不信任”。
清除证书运行时缓存
macOS用trustd守护进程缓存证书信任决策,即使删除了证书文件,旧缓存仍可能让Safari或Chrome继续报错。
打开终端,执行以下命令:
sudo killall -HUP trustd
该操作强制trustd重新加载全部信任配置,无需重启系统,5秒内生效。执行后立即测试HTTPS页面或Charles抓包是否恢复正常。

















