Ответ 1
Git для Windows есть собственное хранилище доверенных сертификатов, которое обычно находится в файле
- Git для Windows <= 1.9:
[Git installdir]\bin\curl-ca-bundle.crt
(например,C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt
; настроен ключомhttp.sslCAinfo
в[Git installdir]\etc\gitconfig
). - Git для Windows >= 2.0:
[Git installdir]\mingwXX\ssl\certs\ca-bundle.crt
гдеXX
обозначает32
или64
(например,C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt
), настроенный ключомhttp.sslCAinfo
вC:\ProgramData\Git\config
).
Отключение проверки сертификатов (например, установка git config http.sslVerify false
) не является хорошей идеей и может быть чрезвычайно опасным (поскольку все проверки безопасности отключены и MitM атаки легко доступны - в зависимости от того, где это установлено, оно применяется для всех новых https-соединений).
Чтобы добавить сертификат (это самоподписанный тот или иной корневой сертификат) в это хранилище доверия, чтобы автоматически доверять ему, вы должны выполнить следующие шаги:
- Откройте URL-адрес сайта в Internet Explorer
- Нажмите на символ блокировки на локальной панели и выберите "Показать сертификаты" (или выберите "Свойства сайта" и нажмите "Сертификаты" ).
- (необязательно) Выберите сертификат, которому вы хотите доверять, в цепочке сертификатов (третья вкладка) и откройте его
- Перейдите во вторую вкладку "Подробности"
- Нажмите "Сохранить в файл", выберите "Base64-encoded X.509 (.CER)" и сохраните его с уникальным именем (помните это имя, рекомендуется имя без мест).
-
Теперь у вас есть несколько опций
- Используйте отдельное хранилище доверия сертификатов, которое содержит только ваш загруженный сертификат, выполнив
git config --global http.sslCAinfo "[yourfilename]"
в оболочке cli, чтобы использовать этот сертификат только в качестве хранилища доверия. - Используйте отдельный магазин доверия сертификатов, который содержит только что загруженный сертификат и все сертификаты из хранилища доверия git, добавив весь контент из файла хранилища системного доверия (путь см. выше), а затем выполните
git config --global http.sslCAinfo "[yourfilename]"
в cli для использования этого нового хранилища доверия. - Обновите файл системного сертификата, добавив содержимое вашего только что сохраненного файла в
[path-to-git-trust-store-crt-file]
(например,type [yourfilename] >> [path-to-git-trust-store-crt-file]
в оболочке cli с правами администратора) ИЛИ используя блокнот (сделайте копию ca-bundle. crt на рабочем столе, добавьте содержимое файла downlaoded.crt, а затем скопируйте его). Недостаток: изменения могут быть перезаписаны при обновлении git
- Используйте отдельное хранилище доверия сертификатов, которое содержит только ваш загруженный сертификат, выполнив
Готово. Теперь этот сертификат находится в хранилище доверия git для Windows.