You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MITM攻击中Chrome提示CERT_AUTHORITY_INVALID错误的解决方法

解决Chrome检测MITM代理证书无效(CERT_AUTHORITY_INVALID)的方案

我之前做MITM代理时也碰到过一模一样的问题,Chrome对根证书的信任逻辑确实有不少坑,咱们一步步来排查解决:

一、先确认你的CA证书本身没问题

Chrome不认你的证书,大概率不是安装方式的问题,而是证书本身不符合要求:

  • 检查证书的用途扩展:必须包含「证书颁发机构(CA)」用途,且勾选了「证书签名」和「CRL签名」。你可以用这个命令查看证书详情:
    certutil -dump "你的证书路径"
    
    找到「Enhanced Key Usage」部分,确认有Certificate Signing和CRL Signing这两项。
  • 确保这是自签名的根CA证书,不是中间证书。如果是中间证书,哪怕导入Root存储区也没用,得把它放到Cert:\LocalMachine\CA(中间证书颁发机构)存储区,同时它的上级根CA也必须被信任。

二、修复证书导入的权限与生效问题

你用的PowerShell导入命令本身是对的,但有两个容易忽略的点:

  1. 必须以管理员身份运行:LocalMachine的Root存储区需要系统权限才能写入,普通用户权限执行命令看似成功,实际没导入进去。改成带提权的命令试试:
    powershell -c Start-Process powershell -ArgumentList "-NoProfile -Command Import-Certificate -FilePath '{你的证书路径}' -CertStoreLocation Cert:\LocalMachine\Root" -Verb RunAs
    
  2. 重启Chrome:Chrome会缓存系统证书信任列表,不重启的话不会加载新导入的根CA。

三、针对Chrome的特殊证书设置

有时候Chrome会忽略系统证书存储,用自己独立的存储:

  1. 手动导入到Chrome内部存储:
    • 打开Chrome输入 chrome://settings/certificates
    • 切换到「授权中心」标签,点击「导入」,选择你的CA证书,然后选择「信任该证书用于识别网站」。
  2. 测试环境临时禁用证书验证(仅限测试,绝对不能用于生产):
    如果只是想验证MITM功能是否正常,可以启动Chrome时加参数跳过证书检测:
    chrome.exe --ignore-certificate-errors --ignore-urlfetcher-cert-requests
    
    注意:这个参数会让Chrome跳过所有证书验证,非常不安全,测试完立刻关掉。

四、检查Windows证书存储的权限

偶尔会碰到证书导入成功,但Chrome读取不到的情况:

  • 打开certlm.msc(本地计算机证书管理器)
  • 找到「受信任的根证书颁发机构」→「证书」,找到你的CA证书
  • 右键→「所有任务」→「管理私钥」,确保当前用户有「读取」权限

五、清除Chrome证书缓存

如果之前有旧的证书缓存干扰,也会导致新证书不生效:

  • 打开Chrome设置→隐私和安全→清除浏览数据
  • 切换到「高级」标签,勾选「证书」,点击「清除数据」,再重启Chrome

⚠️ 重要提醒:MITM攻击必须在获得合法授权的前提下进行,未经授权的MITM行为属于违法行为,请遵守相关法律法规。

内容的提问来源于stack exchange,提问作者flikhamud45

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 18:57:30