2017-01-13 4 views
1

У нас есть новый сервер TFS 2017, созданный на месте. Мой системный администратор настроил https и создал самозаверяющий сертификат. Все отлично работает с встроенными инструментами git от Visual Studio. Когда я пытаюсь сделать что-нибудь с CLI, я получаю следующее сообщение об ошибке: SSL certificate problem: unable to get local issuer certificateGit перестала работать через SSL на Windows

То, что я пытался:

  • установлен сертификат в хранилище доверенных корневых центров сертификации на клиентской машине (это также установлен на сервере). Чтобы установить его, я просто дважды щелкнул файл .pfx, предоставленный мне, ввел пароль и выбрал хранилище Trusted Root.

  • После некоторого поиска неисправностей, я экспортировал локальный сертификат как Base-64 кодировке X.509 файл (.CER), и приложил его к ca-bundle.crt

  • Дважды проверил мой мерзавец конфигурации для обеспечения http.sslcainfo указывается на правильный файл ca-bundle.crt.

  • Используется openssl для подключения к моему серверу. Это дает мне два сообщения об ошибках: verify error:num=20:unable to get local issuer certificate verify return:1 depth=0 OU = Created by Team Foundation Server, CN = my.company.com verify error:num=21:unable to verify the first certificate verify return:1 Certificate chain 0 s:/OU=Created by Team Foundation Server/CN=my.company.com i:/OU=Created by Team Foundation Server/CN=my.company.com

  • Пробовал использовать CLI с других компьютеров для подключения по https с теми же результатами.

Update

Еще не повезло получать эту работу, но было интересно, если тот факт, что само-подписанный сертификат подписывается с помощью закрытого ключа будет иметь ничего общего с нашими вопросами. Self-Signed certificate is signed with a pk

+2

Возможный дубликат [Невозможно решить «не удалось получить локальный сертификат выдавшей» с помощью git на Windows с самозаверяющим сертификатом] (http://stackoverflow.com/questions/23885449/unable-to-resolve-unable-to-get-local-issuer-certificate-using-git-on-windows) –

+1

Был наконец, смог убедить моего системного администратора попробовать предложение в связанной проблеме (использовать makecert для создания сертификатов), и это решило мою проблему. –

ответ

1

Кажется, ваша проблема не связана с TFS, но ваш самоподписанный сертификат не может быть проверен. Вы можете проверить решение here:

Обход

Телль GIT не выполнять проверку сертификата, используя глобальную опцию:

git config --global http.sslVerfiy false 

Разрешение

Есть несколько способы решения этой проблемы ранее:

A. Убедитесь, что корневой сертификат добавлен в хранилище сертификатов git.exe, как описано here.

B. Скажите Git, где найти пакет CA, запустив:

git config --system http.sslCAPath /absolute/path/to/git/certificates 

или скопировать пакет CA в директорию/bin и добавив следующую строку в файл gitconfig:

sslCAinfo = /bin/curl-ca-bundle.crt 

C. Переустановка Git.

D. Обеспечение наличия полного СА, включая корневой сертификат.

После решения вопроса SSL, вы можете сослаться на следующий случай только в случае, если у вас есть проблема аутентификации в командной строке:

Using Git with TFS 2017 - Works in Visual studio but not Command Line

+0

У меня такое ощущение, что там это проблема с самим сертификатом (который мой системный администратор создал для меня). Собираясь кругом с ним сегодня и отчитываемся от всего, что я нахожу. –

+0

С нетерпением ждем вашего обновления. –

+0

Удалось это сделать, создав новый сертификат ЦС и подписав новый сертификат сервера, используя makecert –