当前位置: 首页 > news >正文

OpenSSL与SSL握手

上一篇:解决:fatal: unable to access… OpenSSL SSL_read: Connection was reset, errno 10054

上篇文章中,提到了OpenSSL,报错是:

fatal: unable to access 'https://github.com/projectXX.git': OpenSSL SSL_read: Connection was reset, errno 10054

OpenSSL是什么?怎么会跟Git出现在一起?

一个开源库。Git 工具底层依赖了 OpenSSL 库去建立 HTTPS 安全连接。验证下,输入命令:

git config --get http.sslBackend

查询git配置中的加密后端,结果如下:

此外,android系统中也引用了OpenSSL,以OKhttp的网络连接为例:

1. [OkHttp 层] RealConnection.kt -> sslSocket.startHandshake() │ ▼ 2. [Android JSSE / Conscrypt 框架层] ConscryptEngineSocket.java -> NativeCrypto.SSL_do_handshake() │ (跨越 JNI 边界) ▼ 3. [Conscrypt JNI C++ 层] org_conscrypt_NativeCrypto.cpp ──> #include <openssl/ssl.h> ──> 执行 C 函数 ::SSL_do_handshake(ssl) │ ▼ 4. [Android 系统 C/C++ 动态链接库] libssl.so / libcrypto.so (BoringSSL, OpenSSL 的 Google 分支)

SSL握手的大概流程

客户端(Client) 服务器(Server) | | | -------- ClientHello --------------> | | | | 1.客户端问候 | | 支持哪些TLS版本 | | 支持哪些加密套件 | | 随机数Client Random | | | | <------- ServerHello ----------------| | <------- Certificate ----------------| | <------- ServerKeyExchange ------- | | <------- ServerHelloDone ----------- | | | | 2.服务器响应 | | 选择加密算法 | | 发服务器证书 | | 提供密钥交换参数 | | | | -------- ClientKeyExchange --------> | | -------- ChangeCipherSpec ---------> | | -------- Finished -----------------> | | | | 3.客户端确认 | | 生成Pre-Master Secret | | 开始使用加密通信 | | | | <------- ChangeCipherSpec ----------- | | <------- Finished ------------------- | | | | | | <====== 加密HTTP数据 ===============> |
http://www.jsqmd.com/news/1245118/

相关文章:

  • 不吹不黑,花了一下午把BuildingAI部署上线,说说它的真实定位
  • PHP-FPM核心机制与高并发优化实战
  • TI C2000 ePWM核心寄存器深度解析:从CMPA到死区控制的实战指南
  • DevExpress XtraPrinting Library核心功能与实战应用
  • 社区共享厨房改造:适老化设计与智慧管理实践
  • 装箱与接口和抽象类的理解
  • 亲身到店探访太原亨得利名表服务中心|最新地址和维修热线(2026年7月更新) - 亨得利官方
  • 2026年7月万国沈阳售后网点地址及全国客服热线最新公告 - 万国中国官方服务中心
  • 掌握这3个AI技术方掌握这3个AI技术技术的隐藏用法,看完恍然大悟方法,效率提升100%
  • 怎么证明 Rerank 真的有用?nDCG、P95 延迟与冻结测试集
  • AI对话平台未成年人保护机制:技术实现与工程实践
  • SolidWorks军工级建模实战:辽宁舰三维可视化技术解析
  • 外文翻译平台哪个好?深度测评2026年主流翻译工具,推荐专业小语种人工翻译平台
  • Python实现自动化新闻播报系统:从采集到语音合成
  • Ray 2.55正式支持TPU与KubeRay多主机切片编排实践
  • 相城区黄埭镇打井找哪家公司靠谱?苏州工业重镇的专业钻井服务推荐 - 瑞溪泉水利
  • Jumamo语音生成工具:本地部署与实战应用指南
  • 大学生圈子里火了,Chromium内核还支持动态背景!
  • 2026年7月最新芝柏常州武进万达广场维修保养服务电话 - 亨得利官方服务中心
  • YOLO26中的SKAttention机制:多尺度目标检测优化实践
  • [英辰朗迪GEO知识库第58期]注意!llms.txt才是AI搜索引擎的「VIP通行证」
  • Python函数修炼指南:从重复复制到一招封装,匿名lambda顺带拿捏
  • DaVinci异构平台网络音视频开发:从架构设计到GStreamer实战优化
  • Claude Code Skills生态解析与开发实践
  • 一句话先讲透本质:EMS 是能源管理的大脑软件,微电网、虚拟电厂、零碳园区是三种不同的能源场景_形态,EMS 就是给这三者做调度、算账、优化的指挥中心。
  • Grok for Excel:金融建模与图表生成的智能助手实战指南
  • 数据操作基础与实战:从清洗到聚合的完整指南
  • Windows下SRA Toolkit安装与高通量测序数据处理指南
  • Unity 2D生存游戏开发实战:模块化架构与数据驱动设计
  • Linux服务器WebDriver启动Chrome浏览器失败排查指南