返回
解决Git访问GitHub: schannel证书吊销检查失败
开发配置
2025-03-20 14:40:39
解决 Git 访问 GitHub 出现 "schannel: next InitializeSecurityContext failed" 错误
在使用 Git 访问 GitHub 时,可能会遇到如下错误:
fatal: unable to access 'https://github.com/your-repo.git/':
schannel: next InitializeSecurityContext failed: CRYPT_E_REVOCATION_OFFLINE (0x80092013)
错误分析
该错误表明 Git 在使用 schannel (Windows Secure Channel) 进行 SSL 连接时,证书吊销检查失败。错误代码 0x80092013 (CRYPT_E_REVOCATION_OFFLINE)
表示 Windows 无法访问证书吊销列表 (CRL) 或在线证书状态协议 (OCSP) 服务器,导致 SSL 连接失败。
可能的原因包括:
- 网络问题:防火墙、代理、VPN 可能限制了对证书验证服务器的访问。
- Windows 证书更新未完成:Git 需要 Windows 证书存储中的最新证书。
- Git 配置问题:Git 默认使用
schannel
进行 SSL 连接,可能与部分环境不兼容。
解决方案
方案 1:禁用证书吊销检查(临时解决)
如果你只想快速解决问题,可以使用以下命令跳过证书吊销检查:
git config --global http.schannelCheckRevoke false
然后重试 git clone
或其他 Git 操作。
方案 2:切换 Git SSL 后端到 OpenSSL(推荐)
Git for Windows 默认使用 schannel
作为 SSL 后端,你可以改为 openssl
以避免该问题:
git config --global http.sslBackend openssl
然后重试 git clone
。
方案 3:更新 Windows 证书
如果不想禁用证书检查,可以手动更新 Windows 证书存储:
- 运行 Windows 更新
- 打开
设置
→Windows 更新
,检查并安装所有可用更新。
- 打开
- 手动刷新证书
- 在管理员模式下运行:
certutil -generateSSTFromWU certs.sst
- 然后导入
certs.sst
到 Windows 证书存储。
- 在管理员模式下运行:
结论
如果你遇到了 schannel: next InitializeSecurityContext failed
错误,建议优先尝试 方案 1 或 方案 2 解决问题。如果需要更安全的方式,建议 方案 3 更新证书。