Какая версия Git поддерживает TLS 1.2? - PullRequest
0 голосов
/ 03 декабря 2018

Отключение битбета TLS v1.0 и v1.1 .Наш Jenkins терпит неудачу из-за старого Git:

git --version
git version 1.8.2.3
+ GIT_CURL_VERBOSE=1
+ git ls-remote https://bitbucket.org/
* Couldn't find host bitbucket.org in the .netrc file, using defaults
* About to connect() to bitbucket.org port 443
*   Trying 18.205.93.1... * connected
* Connected to bitbucket.org (18.205.93.1) port 443
* successfully set certificate verify locations:
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* Unknown SSL protocol error in connection to bitbucket.org:443

Я ознакомился с примечаниями к выпуску Git:

git clone --depth=1 https://github.com/git/git

и не нашел ничего о поддержке TLS v1.2:

cd git/Documentation/RelNotes
grep TLS

Что я должен сказать sysadmin, какая версия Git является минимальной, которая поддерживает TLS v1.2?

ПРИМЕЧАНИЕ Мы не на hot в нашей инфраструктуре, пожалуйстаничего не говорите об обновлении до вчерашнего выпуска ...

ПРИМЕЧАНИЕ 2 Я могу пропустить внутреннюю часть Git, и другие библиотеки ОС могут повлиять на поддержку TLS v1.2.

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Чтобы выполнить HTTP и HTTPS, Git использует библиотеку libcurl.Эта библиотека, в свою очередь, связана с некоторой библиотекой, которая предоставляет TLS, обычно это OpenSSL, GnuTLS или NSS, в зависимости от вашей операционной системы.В Linux самый простой способ выяснить, с какой из них связан ваш Git, - это запустить ldd $(which "$(git --exec-path)"/git-http-push).

Если в выводе содержится что-то с сообщением «libgnutls», то вы используете GnuTLS, и выВам потребуется GnuTLS 2.12.24 или новее для правильной поддержки TLS 1.2.

Если вывод содержит что-то с сообщением «libnss», то вы используете NSS и вам потребуется NSS 3.15.1.

Если выходные данные содержат что-то с надписью "libssl" и ничего другого, то вы используете OpenSSL и вам потребуется OpenSSL 1.0.1.

Обратите внимание, что некоторые поставщики патч-патчейили вам нужно будет обновить свои версии libcurl, чтобы правильно включить TLS 1.2, так что это может быть не совсем верно, в зависимости от вашего поставщика.

Как примечание, похоже, что вы используете версию EPELGit для RHEL и CentOS 5. Если это так, имейте в виду, что эти операционные системы вообще не поддерживают TLS 1.2 и не получат никакой поддержки.

0 голосов
/ 03 декабря 2018

Я нашел многообещающую информацию о Руководстве по миграции Github :

Git в Red Hat 5, <6.8 и <7.2 </p>

Red Hat 5, 6и 7 поставляются с клиентами Git, которые не поддерживают TLSv1.2.Эту проблему можно решить путем обновления до версий 6.8 и 7.2 (или выше) соответственно.К сожалению, Red Hat 5 не имеет точечной версии, поддерживающей TLSv1.2.Мы советуем пользователям Red Hat 5 перейти на более новую версию операционной системы.

Это не отвечает на мой вопрос: что необходимо от Git для работы с TLS v1.2,Какая версия, libc, версии других библиотек ...

...