返回

Windows Git 报错 0x80092013?轻松解决 schannel 证书吊销问题

开发配置

在 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 ⚠️ 临时用
📶 换网络、检查代理 ✅ 可尝试