8.HTTPS通信流程
HTTPS通信流程
HTTPS通信主要包括几个节点,发起请求、验证身份、协商秘钥、加密会话,具体流程如下(此例子只有客户端对服务端的单向验证):
具体的步骤如下:
第一步:客户端向服务端发起请求
(1) 客户端生成随机数R1发送给服务端;
(2) (2)告诉服务端自己支持哪些加密算法;
第二步:服务器向客户端发送数字证书
(1) 服务端生成随机数R2; (2)从客户端支持的加密算法中选择一种双方都支持的加密算法(此算法用于后面的会话密钥生成); (3)服务端把证书、随机数R2、会话密钥生成算法,一同发给客户端;
第三步:客户端验证数字证书。
(1)验证证书的可靠性,先用CA的公钥解密被加密过后的证书,能解密则说明证书没有问题,然后通过证书里提供的摘要算法进行对数据进行摘要,然后通过自己生成的摘要与服务端发送的摘要比对。(2)验证证书合法性,包括证书是否吊销、是否到期、域名是否匹配,通过后则进行后面的流程。(3)获得证书的公钥、会话密钥生成算法、随机数R2。(4)生成一个随机数R3。(5)根据会话秘钥算法使用R1、R2、R3生成会话秘钥。(6)用服务端证书的公钥加密随机数R3并发送给服务端。
第四步:服务器得到会话密钥
(1)服务器用私钥解密客户端发过来的随机数R3 (2)根据会话秘钥算法使用R1、R2、R3生成会话秘钥。
第五步:客户端与服务端进行加密会话
(1) 客户端发送加密数据给服务端发送加密数据:客户端加密数据后发送给服务端。 (2)服务端响应客户端解密接收数据:服务端用会话密钥解密客户端发送的数据;加密响应数据:用会话密钥把响应的数据加密发送给客户端。(3)客户端解密服务端响应的数据解密数据:客户端用会话密钥解密响应数据;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南