HTTPS加密流程
来源:互联网 发布:数据库项目经理的收获 编辑:程序博客网 时间:2024/06/06 13:09
1、客户端发起https请求首先向服务端发送客户端SSL/TLS协议版本号、支持的加密算法种类(如:RSA加密算法,DES对称加密算法,SHA1摘要算法)、产生随机数等信息
2、服务端向浏览器回传SSL/TLS 协议版本号、选择一种客户端浏览器支持的加密算法和HASH算法、随机数、服务端证书等信息,证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息;证书中的私钥只能用于服务器端进行解密,在握手的整个过程中,都用到了证书中的公钥和浏览器发送给服务器的随机密码以及对称加密算法)
3、客户端浏览器利用服务端回传的信息验证服务端的合法性;合法性包括:证书是否过期、发行服务器证书的CA是否可靠、证书的公钥能否正确解开服务端证书的“数字签名(使用私钥加密,只有公钥能解密)”、服务端证书上的域名和服务端实际域名是否匹配;合法则继续(浏览器栏里面会显示一个小锁头),否则断开连接;
4、客户端浏览器随机产生一个随机数(对称密码),然后用服务端证书的公钥对随机“对称密码”加密;
根据服务端指定的HASH算法(如SHA1)对握手消息进行加密,并使用生成的“对称密码”对握手消息进行对称加密
最后将对称密码、加密的握手消息、hash后的握手消息发送给服务端、
5、服务端使用私钥解密获得随机“对称密码”,然后使用随机“对称密码”解密客户端浏览器发送的握手消息,并验证hash与浏览器发送过来的是否一样;
6、服务端使用随机“对称密码”加密握手信息,发送给客户端浏览器
7、客户端浏览器使用随机“对称密码”解密握手消息并比较服务端发送的hash是否一致
一致此时握手结束,以后的通讯都是使用这个随机“密码”加密;
使用抓包工具相当于客户端请求抓包工具,抓包工具再请求服务器
0 0
- HTTPS加密流程
- https加密流程和原理
- HTTPS协议加密解密流程图解
- 关于Https协议中的ssl加密解密流程
- https流程
- https 流程
- 配置HTTPS加密
- https加密全面实施
- Nginx 配置 https 加密
- https加密原理
- SSL传输加密HTTPS
- https协议文件加密
- 网络加密HTTPS
- python https 加密传输
- https通信加密过程
- Https加密及攻防
- HTTPS加密--笔记
- https ssl 加密原理
- 协方差矩阵、相关矩阵、相关系数矩阵、相关系数之间的关系
- 八种架构设计模式及其优缺点概述
- 两个队列实现一个栈
- ng build -prod
- Java中violate关键字详解(2)?真正了解violate
- HTTPS加密流程
- 软件开发中的英文单词缩写
- 数据结构之tree
- [Unity3D课堂作业] 巡逻兵 GetAwayFromPatrols
- 【牛课堂第二季】第一章 俄国沙皇问题
- 通过Intent向service传递数据
- 网易2017年暑期实习编程题之赶去公司
- ubuntu安装多个版本jdk
- IQKeyboardManager 使用