[TCP/IP] HTTPS的工作原理
2023-02-18 15:47:06 时间
一.首先HTTP请求服务端生成证书,客户端对证书的有效期、合法性、域名是否与请求的域名一致、证书的公钥(RSA加密)等进行校验;
二.客户端如果校验通过后,就根据证书的公钥的有效, 生成随机数,随机数使用公钥进行加密(RSA加密);
三.消息体产生的后,对它的摘要进行MD5(或者SHA1)算法加密,此时就得到了RSA签名;
四.发送给服务端,此时只有服务端(RSA私钥)能解密。
五.解密得到的随机数,再用AES加密,作为密钥(此时的密钥只有客户端和服务端知道)。
六.秘钥的协商过程是非对称加密,之后的通讯过程是使用此秘钥的对称加密, 非对称加密算法的性能是非常低的,一般的HTTPS连接只在第一次握手时使用非对称加密,通过握手交换对称加密密钥,在之后的通信走对称加密
相关文章
- 【PuTTY】一个免费的SSH和Telnet客户端
- 【Telnet】Telnet安装与配置
- C#笔记 窗体练习:海康相机SDK二次开发
- OpenCV笔记(9) calcHist绘制直方图
- 将mnist训练的caffemodel生成动态链接库DLL
- OpenCV笔记(6) Bitwise
- OpenCV笔记(5) Rect类
- OpenCV笔记(7) 轮廓
- OpenCV笔记(3) CV::Mat
- C++笔记(10) 智能指针
- C++笔记(3)引用
- 前端开发:6、jQuery类库简介与基本使用
- 前端开发:5、BOM操作、DOM操作、jQuery类库
- 前端开发:3、CSS之边框、盒子模型、浮动、溢出、定位、重叠、display
- 前端开发:2、CSS、表单标签补充说明
- 前端开发:1、概念、HTTP协议、HTML及常用标签
- MySQL数据库:15、视图、触发器、存储过程、函数、流程控制、慢查询优化、索引测试
- MySQL数据库:13、索引
- MySQL数据库:14、事务
- MySQL数据库:12、PyMySQL模块