HTTPS 握手过程

HTTPS 握手过程

HTTP 通信的缺点

  • 通信使用明文,内容可能被窃听(重要密码泄露)
  • 不验证通信方身份,有可能遭遇伪装(跨站点请求伪造)
  • 无法证明报文的完整性,有可能已遭篡改(运营商劫持)

HTTPS 握手过程

  1. 客户端发起 HTTPS 请求

用户在浏览器里输入一个 https 网址,与服务器建立 ssl 连接。

  1. 服务端响应

服务器收到客户端请求后,确认加密通信协议版本是否一致,如果版本一致则返回服务器证书,否则关闭加密通信。

  1. 客户端解析证书

客户端收到网站证书后会检查证书的颁发机构以及过期时间, 如果没有问题就随机产生一个秘钥。

  1. 客户端传输秘钥给服务端

客户端利用公钥将秘钥加密, 并传输给服务端。

  1. 服务端解密

服务端利用自己的私钥解密出秘钥。

  1. 完成加密过程

之后服务器与客户端使用秘钥加密传输。

示例图

原文链接:菜园前端

相关推荐
爱勇宝11 小时前
深扒 Anthropic 1680 位工程师简历:应届生几乎没机会,AI 公司最缺的不是博士
前端·后端·程序员
kyriewen11 小时前
同事每天催我 Code Review,我写了个脚本让 AI 替我 review PR——现在他反过来催 AI 了
前端·javascript·ai编程
user205855615181314 小时前
Windows 项目安装时报 `node-sass` 错误,如何快速处理
前端
LiaCode14 小时前
Redis 在生产项目的使用
前端·后端
LiaCode14 小时前
一天学完 redis 的爽翻版核心知识总结
前端·后端
大刚测试开发实战14 小时前
如何内网穿透访问本地私有化部署的TestHub
前端·后端·github
风骏时光牛马14 小时前
# Ruby基于Rails框架实现多角色权限管理与数据分页查询完整实战代码案例
前端
weedsfly14 小时前
迭代器、生成器与异步迭代——让数据“按需流动”的艺术
前端·javascript
xiaodaoluanzha14 小时前
迄今為止,最簡單的編程語言 Nolang
前端·后端
Csvn14 小时前
Fetch 请求竞态终结者:AbortController 不只是用来"取消"的
前端