前言
- 笔者在解决这个问题的过程中,踩下了一系列的坑
- 同时,笔者发现针对这方面的网络资料也比较少、比较零散
- 因此写下这篇文章,让大家避开笔者之前踩过的坑,顺利的解决问题
- 本文解决的问题是:在使用
Steam++ (即:Watt Toolkit )
加速器 对 Github
进行加速的背景下,所产生的 证书验证
问题
- 如果你对过程和原理不感兴趣,可直接移步到
解决方案
背景
- 昨天,笔者真是脑子一抽,突然想用
https
的方式来提交修改好的代码到 github 仓库上
- 不曾想到,笔者竟然打开了潘多拉魔盒…
- 在输入了下面的 git 命令后:
git push origin develop
- 报了一个错误:
fatal: unable to access \'...\' : SSL certificate problem: unable
- 从错误信息来看,意思是说:
连接失败,SSL 证书问题
- 当笔者看到这个证书问题时,心里感觉不妙啊…
- 因为笔者之前在学习
https原理
的时候,对于那些加密通信、数字签名、数字证书的内容只是快速地浏览了一遍,并没有花太多的时间去认真学习,加上太久没用,基本忘光了…
- 所以笔者感觉这次的问题,不花点时间,可能有点难排查
- 果然!当笔者去找这个问题的资料时,不是找到的资料不全,就是过程不清不楚,很多资料无法解决当前这个问题,询问 AI 得到的答案也是不痛不痒
- 最后没有办法,笔者下定决心,认真的再学一遍
https 原理
,自己去排查!
- 最后,凭着所学知识,笔者快速排查了一下自己电脑的CA证书,也没发现什么毛病,真是奇了怪了,到底什么毛病呢?
- 然后,笔者灵机一动:既然在终端里面使用 https 访问 github 难排查,那为何我不用浏览器呢,同一台电脑的同一个访问方式,github 证书的验证应该是相同的吧?如果我在浏览器查找证书,和终端应该大差不差,说办就办!马上打开浏览器去查!
- 这不差不知道,一查吓一跳,原来证书无法验证是因为
Steam++ (即:Watt Toolkit )
证书搞的鬼啊!
- 在访问 Github 的路上,真的是成也 Steam++ 败也 Steam++(当然,主要原因是笔者自己太菜了【苦笑】)

- 我们可以看到,颁发者是 Steam Tools Certificate(即:Steam 工具证书)
- 你可以这样理解:这个 github 证书并不是 “纯粹” 的 github 证书,所以我们的电脑无法验证这个证书
- 知道了这一点,剩下的就好办了
- 我们只需要把 Steam Tools Certificate 的证书告诉 git,让它在进行证书验证的时候,使用我们告诉它的进行解密
- 最后 git 就会通过证书验证,从而成功的与 github 进行 https 访问
- 好啦,过程就是这样,详细的操作教程请到下面的
方案二
进行查看
解决方案
终极方案:使用 ssh 方式进行与 github 连接
- 下面的
方案一
和 方案二
本质上都是解决了 证书验证问题
,最后都是通过 https
进行连接
- 而
https 连接方式
早在 2021 年就已经被官方作出调整,内容大致如下:
自 2021 年 8 月起,Github 已取消对从 Git 命令行使用帐户密码的支持。您仍然可以使用 HTTPS,但您需要设置一个 \"个人访问\" 令牌来代替您的密码。
- 简单来说,如果你和笔者一样,是因为贪图
https 连接方式
的便捷性(直接输入账号密码就能连接,通俗易懂又方便)
- 现在的话,请你打消你的念头,因为
https 连接方式
被官方做出调整后,它其实已经和 ssh 连接方式
没什么区别了
- 甚至还不如直接使用
ssh 连接方式
- 至此,如果你还想折腾
https
的连接方式,可自行上网搜索,或者看这篇文章:https://blog.csdn.net/qq_46941656/article/details/119737804
- 而
使用 ssh 连接 github 的方法
网络上有很多资料,笔者也不赘述了
- 如果你懒得去找教程,可以看这个:https://blog.csdn.net/weixin_42310154/article/details/118340458
方案一:不进行证书验证
- 通过无视风险的方式,强行禁止 ssl 证书验证。(在 git 中输入以下命令即可)
git config --global http.sslVerify false
方案二:进行证书验证
- 通过为 git 导入对应的 ssl 证书,从而让 git 能够进行证书验证。
- 打开 Steam++,找到下面的页面,点击 “打开证书文件夹”

- 在这个文件夹里面,复制
SteamTools.Certificate.cer
文件的路径

- 打开 git,输入下面的命令,路径换成你自己的路径就行(这里需要注意,如果你是复制路径的话,请在粘贴路径后,手动将反斜杠
\\
改为下面的双斜杠 //
,否则命令将不起作用)
git config --global http.sslCAInfo D://Software//WattToolkit//AppData//Plugins//Accelerator//SteamTools.Certificate.cer
关于方案一和方案二的一些问题
- 在你使用
方案一
或者 方案二
之后,其实对于 fatal: unable to access ‘...‘ : SSL certificate problem: unable
这个问题就已经解决了
- 当你使用 https 去连接 github 的时候,你可能会发现又报错了:
remote: Support for password authentication was removed on August 13, 2021. remote: Please see https://docs.github.com/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication. fatal: Authentication failed for \'...\'
- 这真的是连环坑啊,笔者已经踩过了,并不希望大家再踩一遍,解决办法在上面的
终极方案
里面
- 至此,分享结束,希望能帮到你!