mac系统弹出“证书不受信任”警告,说明证书未被显式设为系统级信任:需先确认证书已导入“系统”钥匙串,再双击证书→展开“信任”→设“使用此证书时”为“始终信任”→输入管理员密码更新设置→必须cmd+q退出并重启钥匙串访问应用,否则设置不生效。

Mac系统频繁弹出“证书不受信任”警告,说明当前访问的网站或应用所用证书未被系统钥匙串明确授权为可信,浏览器或系统进程每次建立HTTPS连接时都会中断并提示风险——这不是网络故障,而是macOS主动拦截了未经显式信任的加密凭证。
确认证书已安装在“系统”钥匙串
打开「钥匙串访问」App(可在聚焦搜索中输入后回车)→ 左侧边栏选择「系统」钥匙串 → 在右上角搜索框输入证书名称(如 res-downloader、GoAgent CA、税务电子证书一级根等)→ 若未出现结果,说明证书根本未导入系统级钥匙串,后续所有信任设置均无效。
若证书只出现在「登录」钥匙串中,请先将其拖拽至「系统」钥匙串内;拖入时若提示输入密码,需输入当前用户管理员密码。
将证书设为“始终信任”
在「系统」钥匙串中双击目标证书 → 点击左下角「信任」三角箭头展开 → 在「使用此证书时」下拉菜单中选择「始终信任」→ 关闭窗口 → 弹出密码输入框时,输入管理员密码并点击「更新设置」。
【必须退出并重启钥匙串访问】:仅点击「更新设置」并不立即生效。必须按 Cmd+Q 完全退出「钥匙串访问」App,再重新打开,否则界面仍显示“已标记为不受此账户信任”。
强制刷新系统级信任策略
终端执行以下命令,强制重载全部系统信任配置:
sudo security trust-settings-export /tmp/trust.plist && sudo security trust-settings-import /tmp/trust.plist
该操作会绕过GUI缓存,确保新设置被底层安全框架(Security.framework)实时识别。执行时需输入管理员密码,无字符回显,输完直接回车即可。
检查并启用关键根证书
某些证书链断裂问题源于中间或根证书缺失。例如税务类网站依赖「税务电子证书一级根」,而GoAgent/Res-Downloader等工具依赖自签名CA,它们都需要上级签发者被系统认可。
方法一:手动验证DST/ISRG根证书是否启用
在「钥匙串访问」→「系统」钥匙串中搜索 DST Root CA X3 或 ISRG Root X1 → 双击打开 → 「信任」→「使用此证书时」设为「始终信任」。
方法二:批量导入Apple中间证书(适用于Apple Development/Distribution证书报错)
访问 https://www.apple.com/certificateauthority → 下载 Worldwide Developer Relations - G2 至 G8 中可用的证书 → 全选下载文件,双击逐一导入「系统」钥匙串 → 导入过程中若弹出密码框,输入管理员密码确认。
确保login钥匙串已解锁且可被进程读取
很多工具(Homebrew、pip、curl)实际依赖的是当前用户的 login.keychain-db,而非「系统」钥匙串。若它处于锁定状态,即使「系统」中证书已信任,这些命令仍会报 SSL certificate_verify_failed。
第一步:终端运行 security unlock-keychain login.keychain-db
第二步:输入当前用户登录密码(同样无回显)
第三步:验证是否成功:security find-certificate -p ~/Library/Keychains/login.keychain-db | head -3 —— 若输出 PEM 格式证书内容,说明已解锁。
为避免反复锁住,可在「钥匙串访问」中右键「登录」钥匙串 →「更改设置」→ 取消勾选「退出时锁定钥匙串」。











