git-repo系列教程(3) git-repo https证书认证问题

文章目录

问题描述

在使用git repo 同步仓库时,发现不能同步,出现如下提示错误:

bash 复制代码
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
    Dload  Upload   Total   Spent    Left  Speed
     0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
     0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

curl: (60) SSL certificate problem: self-signed certificate in certificate chain, More details here: https://curl.se/docs/sslcerts.html.
curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. 
To learn more about this situation and how to fix it, please visit the web page mentioned above.

根据提示,阅读网页: https://curl.se/docs/sslcerts.html

发现最好的办法是把证书下载下来,设置环境变量.

解决步骤

1.下载证书

bash 复制代码
# -k 跳过证书验证
# -w %{certs} 抽取服务器端的证书
# > cacert.pem 把证书存储到文件中
curl -k  -w %{certs} https://xxx/ > cacert.pem

#证书内容在 "-----BEGIN CERTIFICATE-----"和"-----END CERTIFICATE-----"
#删除其他内容,只保留
#"-----BEGIN CERTIFICATE-----"
#xxxxx
#xxxx
#"-----END CERTIFICATE-----"

2.测试证书是否正常

bash 复制代码
#指定证书文件
curl --cacert cacert.pem -w %{certs} https://xxxx/
#发现可以下载页面

3.设置环境变量

bash 复制代码
#把证书文件放在家目录下
mkdir ~/cacert
mv cacert.prm ~/cacert/
vim ~/.bashrc
	export CURL_CA_BUNDLE="/home/lin/cacert/cacert.prm"
source ~/.bashrc
#注意'CURL_CA_BUNDLE'需要设置绝对路径

总结

这个问题在网上很少遇到,搜索了几天也没有搜索到答案,看一下提示文档很容易解决了.

git-repo是android系统代码使用的源代码管理工具,不做安卓的很少使用,国内资料相对也很少.但是这个工具非常强大,对大型项目多个git仓库的管理非常方便.

相关推荐
深海鱼在掘金2 天前
Git 完全指南 —— 第1章:Git 概览与版本控制演进
git
程序员mine3 天前
HTTPS-TLS加密与证书完全指南(中)
网络协议·https·ssl
之歆3 天前
现代 HTTP 客户端深度解析:Fetch 与 Axios
chrome·网络协议·http
noravinsc3 天前
关于Git Flow
git
蜜獾云3 天前
在Git中配置用户名和密码
git
酉鬼女又兒3 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php
dog2503 天前
不要再继续优化 TCP
网络协议·tcp/ip·php
程序员mine3 天前
HTTPS-TLS加密与证书完全指南(上)
网络协议·https
scx_link3 天前
通过git bash在本地创建分支,并推送到远程仓库中
开发语言·git·bash
VidDown3 天前
视频帧率技术详解:从 24fps 到 120fps,帧率如何影响你的观看体验?
网络·网络协议·编辑器·音视频·视频编解码·视频