1

是否可以将 pip 与要求文件一起使用以从 Mercurial 存储库安装,该存储库需要使用 --insecure 访问才能工作。

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

IE:

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 问题,这些都不起作用。

有人有什么好的建议吗?

4

1 回答 1

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中建议的步骤操作

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

于 2013-05-21T14:12:14.973 回答