Инициализация репозитория Android: ошибка SSL_CERTIFICATE_VERIFY_FAILED

Для загрузки исходного кода Android:

я выдаю

repo init -u https://android.googlesource.com/platform/manifest

Но я получаю следующую ошибку:

fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [SSL_CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c :726)
fatal: cloning the git-repo repository,will remove '.repo/repo'

Что я пробовал?

– Я пытался посетить https://android.googlesource.com/platform/manifest и https://gerrit.googlesource.com/git-repo/clone.bundle из Google Chrome и Internet Explorer, и нет проблем

-Попытался изменить https на http в команде инициализации репозитория.

-модифицировал скрипт репо и изменил https на http

-изменил gitconfig, как показано ниже:

[user]
        name = myName
        email = myemail.id
[http]
        proxy = http://user:[email protected]:8080
        sslVerify = false
[https]
        proxy = https://user:[email protected]:8080
        sslVerify = false

Как я могу импортировать сертификаты для этих сайтов? Я использую Ubuntu 18.04. Есть ли способ заставить игнорировать это?

PS: я за прокси-сервером и уже настроил параметры прокси-сервера, и он работает нормально (пробовал обновление sudo apt-get)


person Raulp    schedule 27.03.2019    source источник


Ответы (3)


я пользователь MAC (Мохаве). У меня такая же ошибка.

Когда я запускаю:

repo init <repository url>

Я получаю эту ошибку:

Downloading Repo source from https://gerrit.googlesource.com/git-repo
fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)
fatal: cloning the git-repo repository failed, will remove '.repo/repo'

Проблема, похоже, связана с Python 3.6 в MacOS, который поставляется с собственной частной копией OpenSSL. Это означает, что сертификаты доверия в системе больше не используются по умолчанию модулем Python ssl. Чтобы это исправить, вам нужно установить пакет certifi в вашей системе.

Решено с помощью:

open /Applications/Python\ 3.6/Install\ Certificates.command
person Luca Scandroglio    schedule 15.05.2020

ОК, я исправил это, установив для переменной среды PYTHONHTTPSVERIFY значение 0.

экспорт PYTHONHTTPSVERIFY=0

Python, since v2.7.9, will by default now check the SSL certificates. To revert to the correct behavior for the repo script, set up an environment variable PYTHONHTTPSVERIFY=0.
This will shut off all certificate verification.

Сценарий репо теперь должен работать, как рекламируется.

person Raulp    schedule 28.03.2019

Я потратил 3 часа на эту тему и, наконец, нашел, что эта команда работает для меня.

Мой python3 — это Python 3.6.9, а python — это Python 2.7.17, работающий на Ubuntu 18.04.

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
sudo apt-get install openjdk-8-jdk android-tools-adb bc bison build-essential curl flex g++-multilib gcc-multilib gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-gtk3-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc yasm zip zlib1g-dev git-core python3.8 libncurses5
sudo apt-get install ca-certificates
sudo update-ca-certificates --fresh
sudo update-alternatives --install /bin/python python /usr/bin/python3 1
sudo update-alternatives --install /bin/python python /usr/bin/python3.8 2
sudo update-alternatives --config python //choose 2
mkdir ~/bin
PATH=~/bin:$PATH
curl -k https://storage.googleapis.com/git-repo-downloads/repo-1 > ~/bin/repo
chmod a+x repo 
git config http.sslVerify false
export PYTHONHTTPSVERIFY=0
git config --global user.name "xxx"
git config --global user.name "[email protected]"
mkdir ./workspace
cd workspace
which repo
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j2

Надеюсь, мой обмен может помочь вам :)

person 牟家宏    schedule 21.01.2021