HTTPS的实现原理

图片来源:HTTPS 详解一:附带最精美详尽的 HTTPS 原理图 - 个人文章 - SegmentFault 思否

加密流程按图中的序号分为:

  1. 客户端请求 HTTPS 网址,然后连接到 server 的 443 端口 (HTTPS 默认端口,类似于 HTTP 的80端口)。

  2. 采用 HTTPS 协议的服务器必须要有一套数字 CA (Certification Authority)证书。颁发证书的同时会产生一个私钥和公钥。私钥由服务端自己保存,不可泄漏。公钥则是附带在证书的信息中,可以公开的。证书本身也附带一个证书电子签名,这个签名用来验证证书的完整性和真实性,可以防止证书被篡改。

  3. 服务器响应客户端请求,将证书传递给客户端,证书包含公钥和大量其他信息,比如证书颁发机构信息,公司信息和证书有效期等。

  4. 客户端解析证书并对其进行验证。如果证书不是可信机构颁布,或者证书中的域名与实际域名不一致,或者证书已经过期,就会向访问者显示一个警告,由其选择是否还要继续通信。

    如果证书没有问题,客户端就会从服务器证书中取出服务器的公钥A。然后客户端还会生成一个随机码 KEY,并使用公钥A将其加密。

  5. 客户端把加密后的随机码 KEY 发送给服务器,作为后面对称加密的密钥。

  6. 服务器在收到随机码 KEY 之后会使用私钥B将其解密。经过以上这些步骤,客户端和服务器终于建立了安全连接,完美解决了对称加密的密钥泄露问题,接下来就可以用对称加密愉快地进行通信了。

  7. 服务器使用密钥 (随机码 KEY)对数据进行对称加密并发送给客户端,客户端使用相同的密钥 (随机码 KEY)解密数据。

  8. 双方使用对称加密愉快地传输所有数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/719364.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows批处理:bat文件学习

目录 第一章、快速了解Windows批处理1.1)Windows批处理相关概念介绍1.1.1)批处理的起源1.1.2)bat文件介绍 1.2)Demo1.2.1)创建文件添加命令1.2.2)bat脚本中的命令解释 第二章、实例2.1)点击bat文…

navicat安装11.3

一、安装navicat 1、下载navicat 2、解压压缩包 3、点击exe文件 4、输入密钥: NAVH-WK6A-DMVK-DKW3 5、点击打开: 输入连接参数: 6、查看连接好仓库 7、 在使用navicat来编写sql语句 8、编写语句 连接不上问题,检查问题&#…

[出错]-RuntimeError: “slow_conv_transpose2d_out_cpu“ not implemented for ‘Byte‘

一开始我一直一维是torch版本的问题 输入是用cv2读出来的,数据类型dtype是默认是unit8,输入到模型中,除了要将他转为tenso以外,还要.float将数据类型转为浮点数。

【Vue3】深入理解Vue中的ref属性

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

Redis 之三:Redis 的发布订阅(pub/sub)

概念介绍 Redis 发布订阅 (pub/sub) 是一种消息通信模式,它允许客户端之间进行异步的消息传递 Redis 客户端可以订阅任意数量的频道。 模型中的角色 在该模型中,有三种角色: 发布者(Publisher):负责发送信…

嵌入式中7个底层数据结构分解

在编程的世界里,数据结构是构建信息框架的骨架。就像现实生活中的建筑需要精心设计的结构一样,我们的数据也需要合适的结构来保证程序的高效和稳定。今天,我们就像探险家一样,一起去探索七大数据结构的奥秘,并揭开它们…

光路科技:工业以太网交换机引领工业互联网新篇章

随着全球范围内工业4.0的浪潮不断涌动,工业互联网作为其核心驱动力,正引领着工业生产向智能化、网络化的崭新阶段迈进。在这一转型的浪潮中,光路科技凭借其卓越的工业互联设备与创新解决方案,正为工业互联网领域的发展注入新的活力…

Linux环境基础开发工具使用

目录 1.Linux软件包管理器yum 什么是软件包 关于 lrzsz 查看软件包 2.Linux开发工具 2.1.vim的基本概念 2.2vim的基本操作 2.3vim命令模式命令集 1.插入模式 2.从插入模式切换为命令模式 3.移动光标 4.删除文字 5.复制 6.替换 7.撤销上一次的操作 8.更改 2.4v…

蓝桥杯 2020 第一轮省赛 A 组 F 题(B 组 G 题)解码

蓝桥杯 2020 第一轮省赛 A 组 F 题(B 组 G 题)解码 题目描述 小明有一串很长的英文字母,可能包含大写和小写。 在这串字母中,有很多连续的是重复的。小明想了一个办法将这串字母表达得更短:将连续的几个相同字母写成…

[动态规划]---part1

前言 作者:小蜗牛向前冲 专栏:小蜗牛算法之路 专栏介绍:"蜗牛之道,攀登大厂高峰,让我们携手学习算法。在这个专栏中,将涵盖动态规划、贪心算法、回溯等高阶技巧,不定期为你奉上基础数据结构…

Java基础 - 模拟医院挂号系统

模拟医院挂号系统功能 1. 科室管理:新增科室,删除科室(如果有医生在,则不能删除该科室),修改科室 2. 医生管理:录入医生信息以及科室信息,修改医生信息(主要是修改个人信息和科室) 3. 坐诊信息设置:可以设置医生当天和未来6天的坐诊情况,包括上午和下午的坐诊时…

Linux设备模型(九) - bus/device/device_driver/class

一,设备驱动模型 1,概述 在前面写的驱动中,我们发现编写驱动有个固定的模式只有往里面套代码就可以了,它们之间的大致流程可以总结如下: 实现入口函数xxx_init()和卸载函数xxx_exit() 申请设备号 register_chrdev_r…

Spring源码:手写SpringDI

我们是在实现了SpringIOC的基础上,进行拓展,IOC实现源码可以查看:手写SpringIOC 文章目录 一、分析二、实现1、构造注入1)分析2)版本1BeanReferenceBeanDefinitionGenericBeanDefinitionDefaultBeanFactory1、改造构造…

install Ubuntu again

参考链接:Windows 下安装 Ubuntu 双系统(更新) - duan22677 - 博客园 这里的总的空间是120G 它里面指出双系统的时候,/boot 应该是主分区 参考链接:win10下安装Ubuntu16.04双系统_windows10安装引导ubuntu-CSDN博客 这里面讲到了&#xf…

ES入门六:Suggesters Api实践

都是负担在很多app上,当我们输入某些内容时候,它会立即做一些补全操作,如果我想实现上述的需求,我们就可以使用ES提供的Suggesters Api。那Suggesters是如何做到的那?简单来说,Suggesters会将输入的文本拆分…

【网站项目】167固定资产管理系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

谁才是“内卷”之王?众多洗地机品牌哪家清洁力最强?清洁最干净?

在如今快节奏的生活中,家庭清洁工作愈发显得繁琐而耗时。添可洗地机凭借其高效的一体化清洁功能和智能化操作,为现代家庭生活带来了极大的便利。面对众多款品牌洗地机型号,消费者不禁会问:哪家洗地机清洁力最强?在性能…

解决tomcat双击startup.bat一闪而过的问题

这种问题可能是tomcat找不到你的jdk环境配置路径 1、首先在tomcat的bin文件夹找到startup.bat 和catalina.bat两个文件 2、startup.bat用记事本打开 在末尾添加pause 3、保存修改,双击startup.bat如果出现这种问题,就是找不到jdk路径 4、用记事本打开ca…

2194. 负载平衡问题(网络流,费用流)

活动 - AcWing G 公司有 n 个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等。 如何用最少搬运量可以使 n 个仓库的库存数量相同。 搬运货物时,只能在相邻的仓库之间搬运。 数据保证一定有解。 输入格式 第 1 行中有 1 个正整数 n&#x…

MySQL - 联表查询从表即使有索引依然 ALL 的一个原因

问题描述 今天排查 MySQL 语句性能发现,主外键都添加索引了,为什么 explain 分析 type ALL? 原因分析 主表和从表的关联字段的编码方式不一样,改成一样的编码方式即可 解决方案 # 修改某张表某字段编码 ALTER TABLE t_xxx CHA…