SSL协议
SSL 安全传输协议(安全套接层)
也叫TLS ---- 传输层安全协议
SSL的工作原理:SSL协议因为是基于TCP协议工作的,通信双方需要先建立TCP会话。因为SSL协议需要进行安全保证,需要协商安全参数,所以也需要建立SSL会话。之后,所有的数据将加 密传输。SSL的加密和认证体系,采用的是证书体系来实现的。

SSL记录协议
相当于将应用层的数据加密封装之后,放置在这个记录协议中。 、
SSL握手协议
允许服务器和客户端相互认证,并在应用层协议传输数据之前,协商出一个 加密算法和会话密钥(对称加密算法的密钥)。
SSL密码变化协议
客户端和服务器都可以发送,主要就是通知后面的数据将使用协商出来 的加密算法加密传输。
SSL警告协议
用来在出现错误的时候进行告警。
SSL会话建立的过程

1、TCP三次握手,建立链接会话

2、客户端发送client hello包



3、server hello

最后这个服务器证书,可能随着server hello包发送过来,也可能单独使用一个数据包发送。
4、服务器发送证书 --- 验证身份

Server key exchange --- 传递公钥

Server hello done
该数据包中没有实质参数,仅起到通知作用,通知客户端,服务器已经做好准备进行主 密钥的协商。 在这个过程中,可以增加客户端的证书请求(要求客户端的身份认证),但是,这一项 是可选项,默认只进行服务器的身份认证。
5、客户端的回应

因为此时客户端已经拥有服务器的公钥,所以,发送的参数都是加密(公钥加密,非对 称加密算法)发送的。
1,预主密钥 (pre-master-key) 注意,最终的会话密钥就是靠三个随机数生成。
1,客户端发送的随机数;
2,服务器发送的随机数;
3,预主密钥(加密发送);因为机器产生的随机数都是伪随机数,所以,可能存在被破解的风险, 所以,使用三个随机数进行计算,更安全。三个随机数相当于是真随机。2,编码变更通知 --- 因为此时客户端已经拥有三个随机数,可以计算出最最终的 会话密钥,所以,告知服务器,后面是数据可以加密传输了。
3,结束通知 --- 告知结束,并进行一次验证
6、服务器的最终回应


Session ticket --- 进行会话复用 ---- 主要记录身份认证信息。会话结束之后,如果需要重启会话,在重新进行握手是,客户端发送hello时,可以携带该参数,用于快速重启会话。(省略了身份认证。)
相关文章:
SSL协议
SSL 安全传输协议(安全套接层) 也叫TLS ---- 传输层安全协议 SSL的工作原理:SSL协议因为是基于TCP协议工作的,通信双方需要先建立TCP会话。因为SSL协议需要进行安全保证,需要协商安全参数,所以也需要建立…...
什么情况下会造成索引失效?
2.3.4. 索引失效 对索引使用左或者左右模糊匹配 使用左或者左右模糊匹配的时候,也就是 like %xx 或者 like %xx% 这两种方式都会造成索引失效。但是如果前缀是确定的那么就可以使用到索引,例如 name like 许%。 因为索引 B 树是按照「索引值」有序排列…...
间隔采样视频的代码
项目统计模型准确率 项目会保存大量视频,为了统计模型的精度,我们想要十五分钟抽取一个视频用来统计。 import os import shutil from datetime import datetime, timedelta #抽取视频的代码,会在每个小时的0分、15分、30分、45分取一个命名…...
C++ QT设计模式 (第二版)
第3章 Qt简介 3.2 Qt核心模块 Qt是一个大库,由数个较小的库或者模块组成,最为常见的如下:core、gui、xml、sql、phonon、webkit,除了core和gui,这些模块都需要在qmake的工程文件中启用 QTextStream 流,Qdat…...
【经验总结】超算互联网服务器 transformers 加载本地模型
1. 背景 使用 超算互联网 的云服务,不能连接外网,只能把模型下载到本地,再上传上去到云服务。 2. 模型下载 在 模型中 https://huggingface.co/models 找到所需的模型后 点击下载 config.json pytorch_model.bin vocab.txt 3. 上传模型文…...
ubuntu编译pcl时报错
报错如下 cc1plus: warning: -Wabi wont warn about anything [-Wabi] cc1plus: note: -Wabi warns about differences from the most up-to-date ABI, which is also used by default cc1plus: note: use e.g. -Wabi11 to warn about changes from GCC 7 在网上找到了一封邮件…...
Rust中的单元测试
概述 Rust内置了单元测试的支持,这点和Golang一样,非常的棒,我超级喜欢单元测试!!! 本节课的代码还是基于之前的求公约数的案例。 之前的完整代码如下: fn gcd(mut n: u64, mut m: u64) ->…...
ubuntu18.04系统安装pangolin
1. 安装pangolin依赖项 ctrlaltt 打开终端,依次输入下面的命令 sudo apt update sudo apt upgrade sudo apt install libglew-dev cmake libboost-dev libboost-thread-dev libboost-filesystem-dev libeigen3-dev -y 2.在终端中输入下面的命令,克隆…...
洛谷P10397题解
题目描述 给定一条 std::freopen 语句,输出其操作的文件名称。 形式化地,std::freopen 语句都应该恰好是 std::freopen("<title>","<mode>",<stream>);其中 <title> 为其操作的文件名称。其至少包含一个…...
【Linux】自动化编译工具——make/makefile(超细图例详解!!)
目录 一、前言 二、make / Makefile背景介绍 🥝Makefile是干什么的? 🍇make又是什么? 三、demo实现【见见猪跑🐖】 四、依赖关系与依赖方法 1、概念理清 2、感性理解【父与子👨】 3、深层理解【程序…...
goroutine调度策略
Golang的调度器采用M:N调度模型,其中M代表用户级别的线程(也就是goroutine),而N代表的事内核级别的线程。Go调度器的主要任务就是N个OS线程上调度M个goroutine。这种模型允许在少量的OS线程上运行大量的goroutine。 Go调度器使用了三种队列来管理gorout…...
TypeScript中`unknown`的使用场景:安全处理未知类型
TypeScript中unknown的使用场景:安全处理未知类型 引言 在TypeScript中,unknown类型是除了any类型之外的另一种选择,它用于表示一个值可能是任何类型。与any不同,unknown提供了一种更安全的方式来处理未知的数据,因为…...
react18【系列实用教程】JSX (2024最新版)
为什么要用 JSX? JSX 给 HTML 赋予了 JS 的编程能力 JSX 的本质 JSX 是 JavaScript 的语法扩展,浏览器本身不能识别,需要通过解析工具(如babel)解析之后才能在浏览器中运行。 bable 官网可以查看解析过程 JSX 的语法 …...
Docker 创建网络
问题: 1.需要将多个容器添加到同一个网络. 2.docker-compose.yaml 如果不指定,默认会重新创建一个网卡. 创建网卡 docker network create -d bridge mynet ##-d 指定模式(默认桥接)查看自定义网络信息 docker inspect mynet…...
ASME美国机械工程师学会文献如何查询下载经验分享
一、ASME美国机械工程师学会数据库简介: ASME是世界上最大的技术出版机构之一,制定众多的工业和制造业行业标准。现在ASME拥有工业和制造行业的600项标准和规范,这些标准在全球90多个国家被采用。 ASME数据库包含25种专业期刊,其…...
Spring MVC分页示例
Spring MVC分页示例 分页用于在不同部分显示大量记录。在这种情况下,我们将在一页中显示10、20或50条记录。对于其余记录,我们提供链接。 我们可以在Spring MVC中简单地创建分页示例。在此分页示例中,我们使用MySQL数据库来获取记录。 创建…...
C++基础——继承(上)
一、继承的概念 继承 (inheritance) 机制是面向对象程序设计使代码可以复用的最重要的手段,它允许实现者保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称之为派生类; 继承呈现了面向对象程序设计的层次结构…...
编译安装Python3
1、源码安装 1、安装依赖软件包 yum -y install gcc gcc-c zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel # python3.7版本安装 2、下载 curl -o python3.6.5.tgz https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz // 或者 w…...
MySQL数据库核心面试题
数据库中的引擎 常用的引擎有InnoDB、MyIsam、Memory三种。 MyIsam:组织形式分为三种: frm文件存储表结构、MyData文件存储表中的数据、MyIndex文件存储表的索引数据。是分开存储的。 Memory:基于内存的,访问速度快࿰…...
Golang | Leetcode Golang题解之第85题最大矩形
题目: 题解: func maximalRectangle(matrix [][]byte) (ans int) {if len(matrix) 0 {return}m, n : len(matrix), len(matrix[0])left : make([][]int, m)for i, row : range matrix {left[i] make([]int, n)for j, v : range row {if v 0 {continu…...
OpenClaw错误排查大全:Phi-3-vision-128k-instruct对接常见问题
OpenClaw错误排查大全:Phi-3-vision-128k-instruct对接常见问题 1. 问题背景与准备工具 上周在尝试用OpenClaw对接Phi-3-vision-128k-instruct模型时,我遇到了各种稀奇古怪的问题。从连接超时到图片解析失败,整个过程就像在玩技术版的"…...
程序实现多参数联动判断,单一参数异常不报警,多参数契合才报警,零误报。
一、实际应用场景描述某高校《智能仪器》综合实验项目中,有一套电机运行状态监测系统:- 监测参数:- 电流(A)- 振动(mm/s)- 温度(℃)现场现象:- 电机启动时&am…...
不用示波器也能看波形!Keil软件仿真Logic Analyzer的隐藏技巧大公开
不用示波器也能看波形!Keil软件仿真Logic Analyzer的隐藏技巧大公开 在嵌入式开发中,调试GPIO波形是每个工程师都会遇到的场景。传统方式需要依赖示波器或逻辑分析仪,但硬件设备不仅成本高昂,还受限于使用环境。Keil MDK内置的Log…...
C++的std--ranges编译器内联
C的std::ranges编译器内联:现代C的高效编程利器 随着C20标准的发布,std::ranges库的引入彻底改变了算法与数据结构的交互方式。这一特性不仅简化了代码编写,还通过编译器的内联优化显著提升了运行时性能。对于追求高效与简洁的开发者而言&am…...
【OpenClaw企业级智能体实战】第23篇:个人知识库+自动化工作流——让OpenClaw成为你的第二大脑(附second-brain+Obsidian+飞书三合一完整方案)
摘要:长期深耕技术领域的从业者,普遍深陷信息过载困境:海量技术文档、论文、行业动态分散在书签、收藏夹、零散笔记中,传统工具仅能完成信息存储,无法实现语义关联、智能检索与自动迭代。本文基于OpenClaw原生second-brain插件,深度打通Obsidian本地知识图谱与飞书团队协…...
首批入驻!深圳开源远航正式入驻前海“数智空间”!大湾区人工智能出海联盟揭牌成立!
4月2日,深圳开源远航科技有限公司(CSDN全资子公司)开业暨大湾区人工智能出海联盟揭牌仪式在深圳前海卓越金融中心举行。开源远航作为首批企业,正式入驻前海科创集团旗下的前海“数智空间”。首批企业入驻依托“数智空间”共建AI软…...
MATLAB 实现轴承振动信号模拟:从动力学方程到故障仿真
MATLAB matlab 轴承振动信号模拟 轴承动力学方程 滚动轴承动力学模型,轴承动力学模型:滚动轴承运动学模型,深沟球轴承故障基于Hertz接触理论,采用龙格库塔方法可根据需求仿真轴承正常状态,外圈、内圈以及滚动体的故障…...
探索p5.js Web Editor:重构创意编程体验的开发平台
探索p5.js Web Editor:重构创意编程体验的开发平台 【免费下载链接】p5.js-web-editor The p5.js Editor is a website for creating p5.js sketches, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and …...
LoRa土壤监测与灌溉控制系统方案
当前农业生产中,土壤水分、温度等环境参数是影响作物生长的核心因素,传统种植模式依赖人工经验判断灌溉时机与用量,存在诸多局限。随着智慧农业、精准农业的快速发展,物联网技术在农业灌溉领域的应用日益广泛,LoRa作为…...
2025届学术党必备的六大降重复率平台实际效果
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 人工智能生成内容也就是AIGC普及之后,文本检测系统变得越来越精密了。为了避免机…...

