2011-06-09 65 views
15

如何在TortoiseHG中为内部自签名证书禁用HTTPS主机验证。对于内部服务器HTTPS主要用于加密。在TortoiseHG中为内部自签名证书禁用HTTPS主机验证

TortoiseHG文档说可以禁用主机验证(即对证书颁发机构链进行验证)here但我似乎无法找到该选项。

它应该是克隆远程存储库时的一个选项。我正在使用最新的TortoiseHG 2.0.5

回答

29

在TortoiseHG Workbench的“同步”选项卡(或同步屏幕中)中,如果选择了远程路径,则应该看到一个带锁图标的按钮:

enter image description here

这将弹出安全窗口,在这里您可以选择的选项No host validation, but still encrypted,其他设置中。当您打开上,它增加了这样的事情你mercurial.ini

[insecurehosts] 
bitbucket.org = 1 

这是机器级配置的TortoiseHg,但似乎并没有影响克隆窗口。

在命令行,你可以使用--insecure跳过验证证书:

hg clone --insecure https://hostname.org/user/repository repository-clone 

这会吐出了许多关于不验证证书的警告,并会告诉你在每个主机的指纹消息,如在下面的例子中的警告(从原来用于可读性格式):

warning: bitbucket.org certificate with fingerprint 
24:9c:45:8b:9c:aa:ba:55:4e:01:6d:58:ff:e4:28:7d:2a:14:ae:3b not verified 
(check hostfingerprints or web.cacerts config setting) 

一个更好的选择,但是,是host fingerprints,其通过两个hg和TortoiseHg使用。在TortoiseHg的安全窗口中,上面的No host validation是选项Verify with stored host fingerprint。查询按钮检索主机的证书,并将其存储的指纹mercurial.ini

[hostfingerprints] 
bitbucket.org = 81:2b:08:90:dc:d3:71:ee:e0:7c:b4:75:ce:9b:6c:48:94:56:a1:fe 

这应该跳过证书的实际验证,因为你宣布你已经信任的证书。

This documentation证书也可能有帮助。

+0

谢谢你。但是克隆过程中怎么做还不清楚。在能够同步之前,首先需要使用相同的设置克隆它,否则会发生错误。克隆过程中有办法做到这一点吗? – jbx 2011-06-10 13:50:48

+0

刚刚发现克隆没有主机验证尚不可能通过TortoiseHG。然而,这个功能已经在使用,并且已经在2.0.5516.4529版本的不稳定版本中,所以任何需要它的人都需要现在使用该版本,直到它在稳定版本中发布。更多细节在这里:https://bitbucket.org/tortoisehg/thg/issue/718/no-insecure-option-when-cloning-a – jbx 2011-06-10 14:09:46

+0

看到你的第一个评论和工作了一段时间,增加更多。 – 2011-06-10 14:17:30

1

在Clone Repository窗口中展开选项并选中“不验证主机证书”复选框。