使用pip与'不安全'mercurial

时间:2013-05-21 12:47:27

标签: ssl mercurial pip sni

是否可以使用带有需求文件的pip从Mercurial存储库安装,该存储库需要使用--insecure进行访问才能工作。

通过SSL访问存储库,由于pip忽略了服务器名称指示(SNI),因此无法使用有效的SSL证书(它使用IP地址的主证书)。 - 这个问题解决了这个问题

即:

hg clone https://username@domain.org/username/app_name --insecure

所以你通常可以做这样的事情:

pip install -e hg+https://username@domain.org/username/app_name#egg=app_name

或在pip要求文件中包含以下内容:

hg+https://username@domain.org/username/app_name#egg=app_name

由于SSL SNI问题,这些都不起作用。

有没有人有任何好的建议?

1 个答案:

答案 0 :(得分:1)

为什么不尝试在〜/ .hgrc中使用[hostfingerprints]?

例如:

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

要获取自签名证书,请按照https://www.mercurial-scm.org/wiki/CACertificates

中建议的步骤操作
  

例如,可以使用检索服务器的根CA证书   Firefox浏览器。浏览到https://example.com/repo并验证确实如此   您信任的存储库,单击右下角的锁定符号,   查看证书,详细信息,选择顶部的证书   证书层次结构,导出,“X.509证书(PEM)”并保存   某处,例如server.pem。与Windows上的其他浏览器   您必须在证书路径的顶部查看证书   和“复制到文件”为“Base-64编码X.509(.CER)”。几个这样的   文件可以连接成一个cacerts文件。