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
相关推荐
dingdingfish4 小时前
Bash学习 - 第3章:Basic Shell Features,第5节:Shell Expansions
开发语言·学习·bash
xuchaoxin13755 小时前
bash@脚本中的命令行参数解析基础@shift命令@getopts
bash
宁雨桥6 小时前
Gitee迁移GitHub开源全攻略:一键配置自动同步,仅需维护单一仓库
gitee·开源·github
礼拜天没时间.7 小时前
自定义镜像制作——从Dockerfile到镜像
linux·docker·容器·centos·bash
源文雨8 小时前
shell调用ffmpeg递归转换所有wav至flac的脚本
ffmpeg·bash·音视频·音频·unix·shell·音频编码
承渊政道1 天前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
程序员敲代码吗2 天前
如何通过命令行启动COMSOL的参数化、批处理和集群扫描
java·c#·bash
dingdingfish2 天前
Bash 学习 - 第1章:Introduction
bash·shell·programming·introduction
xuchaoxin13753 天前
bash中的字符串处理@输出和格式化打印@echo@printf
chrome·bash
xuchaoxin13753 天前
bash@特殊字符@环境变量符号@特殊参数@参数扩展和替换@字符串处理用法总结
开发语言·bash