【网络】HTTPS的加密

目录

HTTPS使用的是非对称加密加对称加密的方案

(非对称加密:公钥加/解密,私钥解/加密)

(对称加密:一组对称密钥进行加/解密)

三组密钥:

第一组,非对称加密

  • 非对称密钥:CA的私钥 --- 客户端持有的其信任的CA机构的公钥
  • 作用:验证证书是否可信,即证书中携带的来自服务端的公钥是否可信
  • 证书中包含了明文信息 和经CA用其私钥加密后的签名,客户端验证时,会用其已持有的公钥(如浏览器会持有其信任的CA机构的公钥)对签名解密形成摘要,同时使用公开的hash算法将明文信息散列成摘要,两部分对比无误即证明证书有效,证书中含有的公钥可信任。

第二组,非对称加密

  • 非对称密钥:服务端的公钥(经证书传输给了客户端) --- 服务端的私钥
  • 作用:对客户端的对称密钥加密传给服务端
  • 在验证证书中携带的公钥有效的前提下,客户端使用从证书中获得的公钥对自己生成的对称密钥进行加密发送给服务端,服务端获得该对称密钥,使用其持有的对应的私钥对收到的信息解密,得到客户端的对称密钥。

第三组,对称加密

  • 对称密钥:客户端的对称密钥
  • 作用:用于通信
  • 经过前两步,此时客户端与服务端都拥有了对称密钥,后续传输数据即可使用该对称密钥进行加密传输。

证书签名

证书签名过程为什么要先形成摘要再加密:缩小密文长度,加快加解密速度,同时有些加密算法对密文长度有要求,经过hash散列可形成定长摘要。

相关推荐
中微极客6 小时前
多智能体编排实战:CrewAI vs AutoGen(2026版)
大数据·网络·人工智能
小王C语言6 小时前
【3. 基于 Vibe Coding 的 OJ 平台】. 构建仓库、环境准备、需求梳理、安装依赖
网络·c++
新手unity自用笔记6 小时前
unity网络基础_1
网络·unity·游戏引擎
小王C语言6 小时前
【8.进行接口测试】:通过 curl 进行接口自动化测试 / 通过 python 程序进行接口自动化测试
网络·c++
一条大祥脚6 小时前
26杭电暑期第三场 DP|费用流|分解质因子|数论|贪心|图论|期望|无穷级数
网络·图论·网络流·无穷级数·费用流
早睡早起身体好1237 小时前
为什么 Network 中会出现两个同名请求?——CORS 预检请求学习笔记
网络·笔记·学习·网络安全
daad7777 小时前
记录matlab状态机demo
java·网络·matlab
paopaokaka_luck8 小时前
基于springboot3+vue3的智能文库平台(AI智能搜索、AI智能汇总、实时在线状态展示、多格式文档预览与富文本编辑、Echarts图形化分析)
前端·网络·spring boot·网络协议·echarts
Yang96118 小时前
告别“慢工出细活”:如何平衡光纤熔接的速度与精度?
网络
Nebula_g10 小时前
Java实现本地Socket通信(四)
网络