如何完全禁用Mercurial / TortoiseHg中的SSL证书检查?

我正在寻找一种方法来使任何hg \ TortoiseHg命令的默认选项--insecure选项。

请不要写这是一个不好的做法 – 我意识到可能的风险,并认为他们完全可以接受。

[web]部分中的cacerts设置为空string看起来是相同的。 来源 :

 if cmdoptions.get('insecure', False): ui.setconfig('web', 'cacerts', '!', '--insecure') 

维基确认 :

有时候,可能需要禁用安全检查,例如在处理具有自签名证书的主机时。 这可以通过在命令行上禁用CA证书configuration来完成:

hg push –config web.cacerts = https:// self-signed-host / repo

所以把cacerts=! 在你的全局hgrc(linux-likes的/etc/mercurial/hgrc )的[web]部分将会到达那里。

如果您的目标是在推/拉期间消除证书指纹警告,则有更好的方法来做到这一点。 使用.hg / hgrc文件中的[hostfingerprints]。

 [hostfingerprints] server.example.org = 38:76:52:7c:87:26:9a:8f:4a:f8:d3:de:08:45:3b:ea:d6:4b:ee:cc 

这将消除警告而不消除安全检查。

注意:我从您的意见看到另一个答案,你已经find了这个解决scheme。 无论如何,我发布这个以防其他人有同样的问题。

你可以使用别名来实现。 将此添加到您的.hgrc

 [alias] push = push --insecure 

问题是你必须为你想使用的每个命令做这个,我build议你使用不同的名字作为你的别名,而不是默认的名字。

据我所知,没有办法强制执行 – “自动”安全地执行所有命令。