我想在TortoiseGit的帮助下克隆git存储库,但是我收到了错误:
错误:SSL证书问题,验证CA证书是否正常。细节: 错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:访问https://git.assembla.com/pplconnect-PL.webserver.git/info/refs?service=git-upload-pack时证书验证失败 致命:HTTP请求失败
git没有干净地退出(退出代码128)。
任何帮助或指导都将受到赞赏。
答案 0 :(得分:19)
您可以选择忽略服务器证书(风险自负!)。
按以下方式配置TortoiseGit。首先打开TortoiseGit设置。
然后:
Edit systemwide gitconfig
" [http]
部分写道:[HTTP]
sslVerify = false
答案 1 :(得分:13)
配置git以使用正确的根证书。获取服务器的根CA证书并将其添加到git config。在命令提示符下运行它(不要忘记进入你的git仓库)
git config http.sslCAinfo ~/certs/cacert.pem
您可以选择忽略服务器证书(风险自负!)。
git config http.sslVerify false
安全警告:这对中间人攻击很敏感。在禁用SSL证书验证之前,请确保此安全问题不是您的问题。
答案 2 :(得分:4)
所有最重要的答案都是非常危险的! 请勿全局禁用SSL验证!
相反,请使用出色的答案in another thread,并有选择地允许特定站点使用自签名证书。
编辑全局.gitconfig
文件以包含
[http "https://example.com"]
sslCAInfo = C:\\Users\\<username>\\Documents\\ssl\\example.com.crt
CRT文件本身可以通过多种方式获得。您可以只使用Firefox保存它,将其存储在安全的地方,然后将配置指向它。
答案 3 :(得分:2)
请检查您的Git for Windows安装是否正确。
正如你在屏幕截图中看到的,git.exe找不到模板目录 - 所以我想git.exe也找不到发货的CA证书。
如果这没有帮助,请参阅说明here,以便将证书包含在Git信任存储区中。
答案 4 :(得分:1)
尽管出于许多原因禁用ssl验证被认为是危险的,但有时这是可行的。其他人指出,至少要使用“本地”禁用功能,而不是如何使用。作为记录,这是如何在全局.gitconfig
文件(在Windows中位于c:\Users\username
下)中定义单个存储库使用openssl并禁用检查。只需添加以下(调整后的)行:
[http "https://your.repo.com"]
sslBackend = openssl
sslVerify = false
对我来说,这很完美。 如FRob的答案所述,here is a more nuanced option中使用了pem证书,您经常可以自己下载该证书,例如,在网址中单击浏览器中的锁定符号并单击“其他信息”时(Firefox,其他应该相似)。
答案 5 :(得分:1)
正确的解决方法很简单;告诉 git 使用 Windows 证书存储。 这由 git version >=2.14 支持(不确定与哪个 Tortoise 版本相关)
遗憾的是,我没有在 Tortoise GUI 设置中看到配置此功能的方法。
程序:
1:
找到git所在的文件夹(用于安装Tortoise git)
TortoiseGit -> Settings -> General Git.exe path = (e.g.) C:\Program Files\git\bin
2:
在资源管理器中在资源管理器中浏览此文件夹
Shift 右键单击“此处的命令提示符”
3:
输入以下git配置命令
git config --global http.sslBackend schannel
像往常一样在 Windows 证书存储中安装您的自签名证书链。
答案 6 :(得分:-3)
打开Git CMD并运行以下命令。
git config --global http.sslVerify false