Как настроить 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
настройка конфигурации.