简体   繁体   English

Android repo init:SSL_CERTIFICATE_VERIFY_FAILED 错误

[英]Android repo init : SSL_CERTIFICATE_VERIFY_FAILED error

For downloading the Android Source code :下载安卓源代码:

I am issuing我发出

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

But I am getting the below error :但我收到以下错误:

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'

What I have tried ?我试过什么?

-I have tried visiting https://android.googlesource.com/platform/manifest and https://gerrit.googlesource.com/git-repo/clone.bundle from the google chrome and internet explorer and there is no issue - 我曾尝试从谷歌浏览器和 Internet Explorer 访问https://android.googlesource.com/platform/manifesthttps://gerrit.googlesource.com/git-repo/clone.bundle并且没有问题

-Tried changing the https to http in the repo init command - 尝试在 repo init 命令中将 https 更改为 http

-modified the repo script and changed https to http -修改了repo脚本并将https更改为http

-modified the gitconfig as below : - 修改 gitconfig 如下:

[user]
        name = myName
        email = myemail.id
[http]
        proxy = http://user:passwd@gateway.com:8080
        sslVerify = false
[https]
        proxy = https://user:passwd@gateway.com:8080
        sslVerify = false

How can I import the certificates for these sites ?如何导入这些站点的证书? I am using Ubuntu 18.04 .我正在使用 Ubuntu 18.04 。 Is there a way to force ignore this?有没有办法强制忽略这个?

PS : I am behind the proxy and have already setup the proxy settings and it is working fine.(tried sudo apt-get update) PS:我在代理后面并且已经设置了代理设置并且它工作正常。(试过 sudo apt-get update)

i am a MAC user (Mojave).我是 MAC 用户(莫哈韦沙漠)。 I have the same error.我有同样的错误。

When i launch:当我启动时:

repo init <repository url>

I get this error:我收到此错误:

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'

The problem seems due to Python 3.6 on MacOS that comes with its own private copy of OpenSSL.问题似乎是由于 MacOS 上的 Python 3.6 带有自己的 OpenSSL 私有副本。 That means the trust certificates in the system are no longer used as defaults by the Python ssl module.这意味着系统中的信任证书不再被 Python ssl 模块用作默认值。 To fix that, you need to install a certifi package in your system.要解决这个问题,您需要在系统中安装一个 certifi 包。

Solved with:解决了:

open /Applications/Python\ 3.6/Install\ Certificates.command

OK , I fixed this by setting the environment variable PYTHONHTTPSVERIFY to 0好的,我通过将环境变量 PYTHONHTTPSVERIFY 设置为 0 来解决此问题

export 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.

The repo script should now run as advertised.回购脚本现在应该像宣传的那样运行。

I spent 3 hours on this topic and finally found these command works for me.我在这个主题上花了 3 个小时,终于发现这些命令对我有用。

My python3 is Python 3.6.9 and python is Python 2.7.17 running on Ubuntu 18.04.我的 python3 是 Python 3.6.9,python 是在 Ubuntu 18.04 上运行的 Python 2.7.17。

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 "xxx@xxx.com"
mkdir ./workspace
cd workspace
which repo
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j2

Hope my sharing could help you :)希望我的分享能帮到你:)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM