4. HTTPS通信(握手)过程

HTTPS的通信过程如下:

  1. 客户端向服务器发起请求,请求中包含使用的协议版本号、生成的一个随机数、以及客户端支持的加密方法。
  2. 服务器端接收到请求后,确认双方使用的加密方法、并给出服务器的证书、以及一个服务器生成的随机数。
  3. 客户端确认服务器证书有效后,生成一个新的随机数,并使用数字证书中的公钥,加密这个随机数,然后发给服 务器。并且还会提供一个前面所有内容的 hash 的值,用来供服务器检验。
  4. 服务器使用自己的私钥,来解密客户端发送过来的随机数。并提供前面所有内容的 hash 值来供客户端检验。
  5. 客户端和服务器端根据约定的加密方法使用前面的三个随机数,生成对话秘钥,以后的对话过程都使用这个秘钥来加密信息。
相关推荐
问道飞鱼9 分钟前
【Linux知识】Linux 虚拟机磁盘扩缩容操作指南(按文件系统分类)
linux·运维·服务器·磁盘扩缩容
风雨飘逸34 分钟前
【shell&bash进阶系列】(二十一)向脚本传递参数(shift和getopts)
linux·运维·服务器·经验分享·bash
zly350039 分钟前
删除文件(rm 命令 删除目录)
linux·运维·服务器
fbllfbll40 分钟前
Alpine下部署Nginx+MAZANOKE在线批量压缩图片
服务器·nginx·pve·alpine·lxc容器·在线压缩图片·mazanoke
木风小助理1 小时前
PostgreSQL 的范式跃迁:从关系型数据库到统一数据平台
服务器·云原生·kubernetes
曹天骄1 小时前
OSS 传输加速 与 CDN 的区别
运维·阿里云·https
qq_455760851 小时前
docker - 网络
运维·docker·容器
代码游侠2 小时前
应用——MPlayer 媒体播放器系统代码详解
linux·运维·笔记·学习·算法
优选资源分享2 小时前
Qflow v1.6.2 | 开源高效桌面自动化工具
运维·自动化
老兵发新帖2 小时前
ubuntu添加用户完整命令
linux·运维·ubuntu