IDEA 中 CodeBuddy 插件报 Error 10006 / unable to verify the first certificate 完整排障记录
环境:Windows 10 / IDEA 2025.2.5 (Build #IU-252.28238.7) / JetBrains Runtime 21 / CodeBuddy 插件
症状:插件无法登录,AI 服务调用失败,错误码 10006,前置报错unable to verify the first certificate
结论:Windows Schannel 证书吊销检查(CRL/OCSP)在云服务器/内网环境下无法连通,导致 TLS 握手被硬拒绝
一、问题现象
IDEA 中 CodeBuddy 插件执行任何 AI 操作(补全、对话、登录)均失败,弹出:
AI 服务调用失败,请重试 Error Code: 10006 Request ID: 644bd084f4814c0e844cbdcf3b5998d7插件日志中可见前置错误:
Error: unable to verify the first certificate二、排查过程
第一步:确认网络连通性
在命令行中直接测试 CodeBuddy 后端域名:
curl -v https://copilot.tencent.com返回结果:
* Connected to copilot.tencent.com port 443 * schannel: SSL/TLS connection (step 2/3) * schannel: next InitializeSecurityContext failed: Unknown error (0x80092012) - 吊销功能无法检查证书是否吊销。 curl: (35) schannel: next InitializeSecurityContext failed关键信息:TCP 连接成功,TLS 握手阶段失败,错误码0x80092012,即 CRL(证书吊销列表)检查失败。
第二步:验证是否为吊销检查导致
使用--ssl-no-revoke参数跳过吊销检查重试:
curl --ssl-no-revoke https://copilot.tencent.com结果:成功返回 HTML 页面内容,HTTP 服务完全正常。
这说明:
- ✅ 网络连通
- ✅ DNS 解析正常
- ✅ TLS 证书本身有效
- ❌Windows Schannel 强制 CRL 检查,查不到就硬拒绝连接
第三步:确认影响范围
| 客户端 | 行为 | 结果 |
|---|---|---|
| 浏览器 | CRL 查不到 → 软失败 → 继续连接 | ✅ 正常访问 |
| curl(默认) | CRL 查不到 → 硬失败 | ❌ 连接断开 |
| IDEA JCEF / Java 网络栈 | 走系统 Schannel → 硬失败 | ❌ 10006 |
curl--ssl-no-revoke | 跳过吊销检查 | ✅ 正常返回 |
三、根因分析
Windows Schannel(安全通道)在处理 TLS 握手时,默认会执行证书吊销检查(CRL/OCSP),验证服务器证书是否已被吊销。
与浏览器不同,Schannel不会在吊销服务器不可达时"软失败"放行,而是直接终止握手。
以下环境极易触发此问题:
| 环境 | 原因 |
|---|---|
| 云服务器 / 虚拟机 | 出网策略限制,无法访问 CRL 分发点(CDP) |
| 公司内网 | 防火墙拦截 CRL/OCSP URL |
| 代理 / HTTPS 解密网关 | 中间人替换证书,吊销链断裂 |
| 系统时间错误 | 证书有效期校验异常 |
本机为 Administrator 账户,运行在云服务器环境,CRL 分发点无法访问,导致所有走 Schannel 的客户端全部失败。
四、解决方案
方案一:注册表关闭吊销检查(推荐,一步到位)
管理员 CMD执行:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings" /v DisableCrlCheck /t REG_DWORD /d 1 /f清理 CRL 缓存:
certutil -urlcache * delete方案二:图形界面操作(inetcpl.cpl)
- Win+R → 输入
inetcpl.cpl→ 回车 - 切换到高级选项卡
- 在安全区域取消勾选:
- ☐ 检查服务器证书吊销
- ☐ 检查发行者证书吊销
- 点击应用→确定
方案三:组策略(域控/企业环境)
gpedit.msc路径:计算机配置 → Windows 设置 → 安全设置 → 公钥策略 → 证书路径验证设置
- 双击打开 →吊销选项卡
- 勾选"定义这些策略设置"
- 选择不检查证书吊销
- 确定后执行:
gpupdate /force
五、IDEA 侧配合操作
1. 完全重启 IDEA
关闭 IDEA 后,打开任务管理器确认以下进程已完全退出:
idea64.exejava.exe(属于 IDEA 的)
重新启动 IDEA。
2. 重新登录 CodeBuddy
- 点击 IDEA 右侧/底部 CodeBuddy 面板
- 退出登录→ 重新扫码/登录
3. (可选)配置 JBR trustStore
如果上述操作后仍有问题,可强制 IDEA 使用 JBR 自带信任库:
Help→Edit Custom VM Options→ 追加:
-Djavax.net.ssl.trustStore=C:\Program Files\JetBrains\IntelliJ IDEA\jbr\lib\security\cacerts -Djavax.net.ssl.trustStorePassword=changeit路径需根据实际 IDEA 安装位置调整(Toolbox 管理的路径在
AppData\Local\JetBrains\Toolbox\...)
重启 IDEA 生效。
4. 清理插件缓存(兜底)
完全退出 IDEA 后删除:
%USERPROFILE%\AppData\Roaming\JetBrains\IntelliJIdea2025.2\plugins\codebuddy %USERPROFILE%\AppData\Local\JetBrains\IntelliJIdea2025.2\plugins\codebuddy %USERPROFILE%\.codebuddy六、验证修复
完成上述操作后,执行:
curl -v https://copilot.tencent.com预期结果:不再出现0x80092012错误,TLS 握手成功,返回 HTTP 响应。
IDEA 中 CodeBuddy 插件登录成功,AI 补全/对话功能恢复正常。
七、排障决策树(速查)
CodeBuddy 报 10006 ├─ curl -v https://copilot.tencent.com 报证书错误? │ ├─ 是 → 检查系统时间 / 代理 / 公司 CA │ └─ 否 → 继续 ├─ curl --ssl-no-revoke 能通? │ ├─ 能通 → 根因 = CRL 吊销检查(本文场景) │ │ → 关闭系统吊销检查 → 重启 IDEA → 重登 │ └─ 不通 → 网络/DNS/防火墙问题 → 检查代理/Hosts/防火墙 └─ 关闭吊销检查后仍报错 → 清插件缓存 → 加 JBR trustStore 参数 → 查看 idea.log八、安全提醒
关闭证书吊销检查会降低一定的安全校验强度。建议:
- 排障确认后,公网生产机器可重新开启吊销检查
- 云服务器/内网开发机可保持关闭(本身无法访问外部 CRL 分发点)
- 企业环境建议联系 IT 管理员放通 CRL/OCSP 相关 URL,而非全局关闭
九、相关错误码速查
| 错误 | 含义 | 处置 |
|---|---|---|
unable to verify the first certificate | TLS 证书链校验失败 | 检查 CA 信任/代理/公司证书 |
Error Code: 10006 | AI 服务调用失败(连接层) | 网络/TLS/登录态,本文场景 |
0x80092012 | CRL 吊销检查失败 | 关闭吊销检查或放通 CRL URL |
schannel: SSL/TLS handshake failed | TLS 握手阶段断开 | 综合排查证书/代理/时间 |
一句话总结:Windows Schannel 在云服务器/内网环境下因无法访问 CRL 分发点而硬拒 TLS 连接,导致 IDEA 中 CodeBuddy 插件报 10006。关闭系统证书吊销检查即可恢复。