返回
Windows Git 报错 0x80092013?轻松解决 schannel 证书吊销问题
开发配置
2025-04-09 10:53:17
在 Windows 上使用 Git 时,可能会遇到如下错误:
fatal: unable to access 'https://github.com/xxx/xxx.git/':
schannel: next InitializeSecurityContext failed:
CRYPT_E_REVOCATION_OFFLINE (0x80092013)
这类问题一般出现在 Git 使用 schannel
作为 SSL 后端,并且系统无法访问证书吊销列表(CRL)或 OCSP 服务时。
一、错误原因分析
Windows 下默认 Git 使用的是 schannel
(即系统的 SSL 支持),相比 openssl
更贴近操作系统的安全策略。但它也更依赖于网络访问,尤其是在验证服务器证书吊销状态时。
当你的网络不能访问吊销服务器(可能是公司防火墙、代理、断网等原因),就会抛出 CRYPT_E_REVOCATION_OFFLINE
错误。
二、解决方案
1. 切换 SSL 后端为 openssl(推荐)
将 Git 的 SSL 后端从 schannel
改为 openssl
,避开对 Windows 系统证书检查的依赖:
git config --global http.sslbackend openssl
这个配置一劳永逸,适用于大多数情况。修改后,再次执行 git 命令应该就不会报错了。
2. 关闭证书吊销检查(不推荐)
如果你不想切换 SSL 后端,也可以关闭吊销检查:
git config --global http.schannelCheckRevoke false
⚠️ 注意:这样做会牺牲一部分安全性,因为 Git 不再检查服务器证书是否已被吊销,建议仅在内网、测试环境中临时使用。
3. 切换网络环境或排查代理
有时你的网络屏蔽了证书吊销请求,解决方式包括:
- 尝试手机热点或家庭网络
- 关闭代理、VPN
- 或者设置 Git 使用代理:
git config --global http.proxy http://127.0.0.1:1080
三、检查当前 SSL 后端
如果你想确认自己当前的 Git 使用的是哪种 SSL 后端,可以执行:
git config --global --get http.sslbackend
如果没设置,默认是 schannel
(Windows)。
四、总结
方法 | 命令 | 是否推荐 |
---|---|---|
✅ 切换到 openssl | git config --global http.sslbackend openssl |
✅ 推荐 |
⚠️ 关闭吊销检查 | git config --global http.schannelCheckRevoke false |
⚠️ 临时用 |
📶 换网络、检查代理 | — | ✅ 可尝试 |