在TortoiseHG中禁用HTTPS主机身份验证以获取内部自签名证书

jbx*_*jbx 19 mercurial tortoisehg tortoisehg-2.0

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

TortoiseHG文档说可以在这里禁用主机验证(即验证证书颁发机构链),但我似乎无法找到该选项.

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

Joe*_*ant 35

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

在此输入图像描述

这将打开安全窗口,您可以在其中选择该选项No host validation, but still encrypted以及其他设置.打开它时,它会向您添加以下内容mercurial.ini:

[insecurehosts]
bitbucket.org = 1
Run Code Online (Sandbox Code Playgroud)

这是TortoiseHg的机器级配置,但它似乎不会影响克隆窗口.

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

hg clone --insecure https://hostname.org/user/repository repository-clone
Run Code Online (Sandbox Code Playgroud)

这将发出一些关于不验证证书的警告,并且还会在每条消息中显示主机指纹,例如下面的示例警告(为了便于阅读,从原始格式化):

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)
Run Code Online (Sandbox Code Playgroud)

然而,更好的选择是主机指纹,它们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
Run Code Online (Sandbox Code Playgroud)

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

证书文档也可能有所帮助.