Отключение аутентификации хоста HTTPS в TortoiseHG для внутренних самозаверяющих сертификатов

Как отключить аутентификацию хоста HTTPS в TortoiseHG для внутренних самозаверяющих сертификатов. Для внутренних серверов HTTPS в основном используется для шифрования.

В документации TortoiseHG указано, что можно отключить верификацию хоста (т.е. проверку против цепочки центра сертификации) здесь, но я не могу похоже, найти этот вариант.

Предполагается, что он будет вариантом при клонировании удаленного репозитория. Я использую последнюю версию TortoiseHG 2.0.5

Ответ 1

В TortoiseHG Workbench на вкладке "Синхронизация" (или на экране "Синхронизация" ), если выбран удаленный путь, вы должны увидеть кнопку с иконкой блокировки на ней:

enter image description here

Появится окно безопасности, в котором вы можете выбрать опцию No host validation, but still encrypted, среди других настроек. Когда вы включите это, он добавит что-то подобное вашему mercurial.ini:

[insecurehosts]
bitbucket.org = 1

Эта конфигурация на уровне компьютера для TortoiseHg, но она, похоже, не влияет на окно Clone.

В командной строке вы можете использовать --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)

Однако лучшим вариантом является отпечатки хоста, которые используются как hg, так и TortoiseHg. В окне TortoiseHg Security выше 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

Это должно пропустить фактическую проверку сертификата, поскольку вы заявляете, что уже доверяете сертификату.

Эта документация по сертификатам также может помочь.

Ответ 2

В окне репозитория Clone разверните параметры и установите флажок "Не проверять сертификат хоста".