20

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

TortoiseHG 文档说可以在此处禁用主机验证(即针对证书颁发机构链的验证),但我似乎找不到该选项。

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

4

2 回答 2

38

在 TortoiseHG 工作台的同步选项卡(或同步屏幕)中,如果您选择了远程路径,您应该会看到一个带有锁定图标的按钮:

在此处输入图像描述

这将打开安全窗口,您可以在其中选择选项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)

然而,更好的选择是主机指纹,它被hgTortoiseHg 使用。在 TortoiseHg 的安全窗口中,上面No host validation是选项Verify with stored host fingerprint。Query 按钮检索主机证书的指纹并将其存储在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

这应该跳过证书的实际验证,因为您声明您已经信任该证书。

这份关于证书的文档也可能有所帮助。

于 2011-06-09T17:30:36.557 回答
1

在克隆存储库窗口中展开选项并选中“不验证主机证书”复选框。

于 2014-12-02T15:08:00.930 回答