4. HTTPS通信(握手)过程

HTTPS的通信过程如下:

  1. 客户端向服务器发起请求,请求中包含使用的协议版本号、生成的一个随机数、以及客户端支持的加密方法。
  2. 服务器端接收到请求后,确认双方使用的加密方法、并给出服务器的证书、以及一个服务器生成的随机数。
  3. 客户端确认服务器证书有效后,生成一个新的随机数,并使用数字证书中的公钥,加密这个随机数,然后发给服 务器。并且还会提供一个前面所有内容的 hash 的值,用来供服务器检验。
  4. 服务器使用自己的私钥,来解密客户端发送过来的随机数。并提供前面所有内容的 hash 值来供客户端检验。
  5. 客户端和服务器端根据约定的加密方法使用前面的三个随机数,生成对话秘钥,以后的对话过程都使用这个秘钥来加密信息。
相关推荐
蒸蒸yyyyzwd3 分钟前
cpp 选手秋招学习笔记 day27
服务器·c++·面试·八股
Lsetea18 分钟前
ACME 报 rate limit:Let‘s Encrypt 限速类型与重试策略
运维·https·证书·ssl·acme
大模型码小白28 分钟前
ChatGPT 的回答也能被结构化抓取?AI Bot Scraper 对比测评
服务器·开发语言·数据库·人工智能·spring·chatgpt
A黄俊辉A32 分钟前
两分钟上手docker
运维·docker·容器
青瓦梦滋44 分钟前
NAT技术
linux·服务器·网络·网络协议·tcp/ip
啦啦啦啦啦zzzz1 小时前
自定义日志缓冲区(上)c++20
linux·服务器·c++·网络编程
邪修king1 小时前
Re: Linux系统篇(十八):进程篇(七): 进程深度解析:从 fork 创建到退出的完整旅程(附写时拷贝原理 + 代码实战)
java·linux·运维
keyipatience2 小时前
IP网络层
服务器·网络·网络协议·ubuntu·http
湫默2 小时前
运维八股文
运维
Discipline~Hai2 小时前
Linux网络编程03-HTTP协议
linux·运维·服务器·网络·网络协议·http·linux网络编程