HTTPS 握手过程

HTTPS 握手过程

HTTP 通信的缺点

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

HTTPS 握手过程

  1. 客户端发起 HTTPS 请求

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

  1. 服务端响应

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

  1. 客户端解析证书

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

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

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

  1. 服务端解密

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

  1. 完成加密过程

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

示例图

原文链接:菜园前端

相关推荐
蜗牛攻城狮3 分钟前
前端构建工具详解:Vite 与 Webpack 深度对比与实战指南
前端·webpack·vite·构建工具
北极象5 分钟前
Electron 通用技术架构分析
javascript·架构·electron
吃好喝好玩好睡好6 分钟前
基于 Electron+Flutter 的跨平台桌面端实时屏幕标注与录屏工具深度实践
javascript·flutter·electron
IT_陈寒8 分钟前
Redis 性能翻倍的 5 个冷门技巧,90%开发者都不知道的底层优化!
前端·人工智能·后端
a程序小傲9 分钟前
百度Java面试被问:HTTPS解决了HTTP什么问题?
java·后端·http·百度·面试
亿牛云爬虫专家10 分钟前
当数据开始“感知页面”
javascript·html·爬虫代理·代理ip·playwright·页面渲染·dom结构
就叫飞六吧11 分钟前
HTTP Basic认证完全指南
网络·网络协议·http
L、21811 分钟前
状态共享新范式:在 Flutter + OpenHarmony 应用中实现跨框架状态同步(Riverpod + ArkState)
javascript·华为·智能手机·electron·harmonyos
Umi·14 分钟前
shell 条件测试
linux·前端·javascript
小白勇闯网安圈14 分钟前
wife_wife、题目名称-文件包含、FlatScience
javascript·python·网络安全·web·原型模式