windows:curl: (60) schannel: SEC_E_UNTRUSTED_ROOT (0x80090325)

目录

  • [1. git update-git-for-windows 报错](#1. git update-git-for-windows 报错)
  • [2. 解决方案](#2. 解决方案)
    • [2.1. 更新 CA 证书库](#2.1. 更新 CA 证书库)
    • [2.2. 使用 SSH 连接(推荐)](#2.2. 使用 SSH 连接(推荐))
    • [2.3 禁用 SSL 验证(不推荐)](#2.3 禁用 SSL 验证(不推荐))

1. git update-git-for-windows 报错

shell 复制代码
Lenovo@LAPTOP-EQKBL89E MINGW64 /d/YHProjects/omni-channel-recon-dev (master)
$ git update-git-for-windows
curl: (60) schannel: SEC_E_UNTRUSTED_ROOT (0x80090325) - More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the webpage mentioned above.
  • 操作:windows环境使用git update-git-for-windows从我自己的gitee仓库更新代码。
  • 报错信息:curl 在尝试与服务器建立安全连接时,无法验证服务器的 SSL 证书。这可能是因为服务器使用了自签名证书,或者证书链中的某个证书不被客户端信任。
    简而言之:我的本机(即本地 Git 客户端)拒绝验证远程服务器的 SSL 证书

2. 解决方案

2.1. 更新 CA 证书库

Windows操作系统通常会通过Windows Update自动更新根证书。

确保我的操作系统或 Git 客户端的 CA 证书库是最新的,这样可能会包含远程服务器证书的签发机构。

但是我的Windows11确实已经是最新版的了,并且我想起来了,我昨天下班的时候更新了一下Windows,下班之前我都还能正常用git拉项目,更新之后就不行了

至于去使用gitee的CA证书,于我而言就不现实了,我根本拿不到。

2.2. 使用 SSH 连接(推荐)

使用 SSH 而不是 HTTPS 来克隆或更新代码。SSH 方式不需要依赖 SSL 证书验证,通常更安全。

  1. 生成SSH密钥

    shell 复制代码
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  2. 查看公钥并复制

    shell 复制代码
    cat ~/.ssh/id_rsa.pub
  3. 将复制的公钥放到个人------设置------SSH公钥下

  4. 重新clone,但是选择仓库的ssh地址来进行克隆

    shell 复制代码
    git clone git@gitee.com:username/repo.git

2.3 禁用 SSL 验证(不推荐)

不推荐的原因如下:

  1. 虽然可以临时禁用 SSL 验证来绕过这个问题,但这会降低安全性,因为它会使你的连接容易受到中间人攻击。
  2. 压根不起作用,临时禁用都不行,还是报错,艹
shell 复制代码
git config --global http.sslVerify false
相关推荐
yoothey1 天前
报废审批流规则引擎设计——责任链模式完整实现
linux·开发语言·bash
vortex52 天前
Shell 命令执行知识体系全景解析
linux·运维·bash·shell·命令行
风信子IT人2 天前
【5天实战】从零构建AI-Native组织:飞书+Bot+Gitee全链路自动化实战指南—Day 5:完整场景实操验证
gitee·自动化·飞书·ai-native·bot开发
zakariyaa332 天前
Android 绘制调度机制
android·gitee
vortex52 天前
Shell 位置参数传递:从入门到“怀疑人生“
linux·bash·shell
scx_link19 天前
通过git bash在本地创建分支,并推送到远程仓库中
开发语言·git·bash
江华森20 天前
高级 Bash 脚本编程指南 — 实战教程
开发语言·bash
承渊政道20 天前
【MySQL数据库学习】(MySQL表的内外连接)
数据库·学习·mysql·leetcode·bash·数据库开发·数据库系统
hyunbar20 天前
配置 Cloudflare Tunnel:把 Mac 上的 Web 服务变成安全域名
网络协议·https·bash
m0_5261194020 天前
ssh key生成,gitee配置ssh
运维·gitee·ssh