使用Git,是否有一种方法告诉它接受自签名证书?

我使用https服务器托管git服务器,但目前证书是自签名的。

当我第一次尝试在那里创建回购时:

git push origin master -f

我得到了错误:

error: Cannot access URL     
https://the server/git.aspx/PocketReferences/, return code 22

fatal: git-http-push failed

当前回答

我用的是windows电脑,这篇文章对我很有帮助。基本上我打开了ca-bundle。CRT在记事本和添加链证书在它(所有)。这个问题通常发生在公司网络中,我们在系统和git回购之间有中间人。我们需要导出证书链中除了base 64格式的leaf cert之外的所有证书,并将它们全部添加到ca-bundle中。然后为修改后的CRT文件配置git。

其他回答

在.gitconfig文件中,您可以添加以下给定值,以使自签名证书可接受

sslCAInfo = /home/XXXX/abc.crt

在Windows上使用64位版本的Git,只需将自签名CA证书添加到这些文件中:

C:\Program Files\Git\mingw64\ssl\certs\ ca-bundle.crt C:\Program Files\Git\mingw64\ssl\certs\ ca-bundle.trust.crt

如果它只是一个服务器自签名证书,请将其添加到

C:\Program Files\Git\mingw64\ssl\cert.pem

我的回答可能晚了,但对我有用。它可能会帮助某些人。

我尝试了上面提到的步骤,但没有解决问题。

试试这个git配置——global http。sslVerify假

我是这样做的:

git init
git config --global http.sslVerify false
git clone https://myurl/myrepo.git

检查防病毒和防火墙设置。

从一天到另一天,git不再工作了。根据上面的描述,我发现卡巴斯基在中间放置了一个自签名的反病毒个人根证书。按照上面的说明,我没有设法让Git接受该证书。我放弃了。对我来说有用的是禁用扫描加密连接的功能。

卡巴斯基开放 设置>附加>网络>不扫描加密连接

在此之后,git再次启用sslVerify。

请注意。这对我来说仍然不满意,因为我想让我的反病毒功能激活。在高级设置中,卡巴斯基显示了一个不能使用该功能的网站列表。Github不在其中。我会在卡巴斯基论坛上查的。似乎有一些话题,例如。 https://forum.kaspersky.com/index.php?/topic/395220-kis-interfering-with-git/&tab=comments#comment-2801211