Как настроить Git для доверия сертификатам из хранилища сертификатов Windows?

В настоящее время у меня есть следующая запись в моем .gitconfig в моем каталоге пользователя.

...
[http]
    sslCAInfo=C:\\Users\\julian.lettner\\.ssh\\git-test.pem
...

Это устанавливает сертификат для использования при взаимодействии с git-сервером (требуется git-сервером моей компании).

Но теперь я не могу клонировать другие репозитории (например, общедоступный репозиторий на GitHub), потому что клиент всегда использует настроенный сертификат, который отклоняется другими серверами.

Как я могу обойти эту проблему сертификации? Могу ли я настроить Git для использования хранилища сертификатов Windows для аутентификации?

2 ответа

Решение

Использование:

git config  --local ...

Чтобы указать настройки для каждого хранилища. Локальные настройки хранятся в .git каталог.

Обзор трех мест, где git Можно сохранить настройки:

  • --local: Специфичный для репозитория, <repo_dir>/.git/config
  • --global: Для пользователя, ~/.gitconfig
  • --system: Системные установки по умолчанию, /etc/gitconfig

Более конкретные переопределяют более общие настройки, то есть локальные переопределяют как глобальные, так и системные.

Начиная с Git для Windows 2.14, теперь вы можете настроить Git для использования SChannel, встроенного сетевого уровня Windows. Это означает, что он будет использовать механизм хранения сертификатов Windows, и вам не нужно явно настраивать механизм хранения curl CA.

Из заметок о выпуске Git для Windows 2.14:

Теперь можно переключаться между Secure Channel и OpenSSL для транспорта Git по HTTPS, установив http.sslBackend переменная конфигурации для "openssl" или же "schannel"; Теперь это также метод, используемый установщиком (а не копирование libcurl-4.dll файлы вокруг).

Вы можете выбрать новый механизм SChannel во время установки Git для Windows 2.14. Вы также можете обновить существующую установку для использования SChannel, запустив:

git config --global http.sslBackend schannel

После того, как вы настроите это, Git будет использовать хранилище сертификатов Windows и не должно требовать (и фактически должен игнорировать) http.sslCAInfo настройка конфигурации.

Другие вопросы по тегам