HTTPS握手阶段流程
2016-10-07 11:29:20 0 举报
HTTPS握手阶段流程
作者其他创作
大纲/内容
服务器
发送([加密过的握手消息]、[握手消息签名])
1、动态生成随机数1.1 随机数通过一定规则生成对称加密密钥(AES)1.2 然后用非对密公钥加密得到 [加密过的对称加密密钥]2、生成随机的握手消息2.1 用对称加密密钥对握手消息加密得到[加密过的握手消息]2.2 通过hash算法对握手消息 计算得到[握手消息签名]
从接收到的对称加密算法和hash算法中挑选出一套服务器和浏览器都支持的算法
通过 对称加密密钥 解密 [加密过的握手消息] 得到 握手消息通过 hash算法 对 握手消息 计算得到 握手消息签名比对 握手消息签名 和 服务器传过来的[握手消息签名] 是否一致?如一致,则https连接建立完成。
发送挑选的结果和https证书(CA,其中包含非对称加密(RSA)公钥、网站地址、颁发机构等信息)
发送 [加密过的对称加密密钥]、[加密过的握手消息]、[握手消息签名]
浏览器
发送自身支持的对称加密算法和hash算法列表等信息
通过 非对密加密私钥(RSA) 解密 [加密过的对称加密密钥] 得到 对称加密密钥(AES)通过 对称加密密钥 解密 [加密过的握手消息] 得到 握手消息通过 同样的hash算法 对 握手消息 计算得到 握手消息签名比对 握手消息签名 和 浏览器传过来的[握手消息签名] 是否一致?如不一致,放弃;如签名一致,动态生成一段 握手消息,然后:通过 对称加密密钥 加密 得到 [加密过的握手消息]通过 hash算法 对 握手消息 计算得到 [握手消息签名]
收藏
0 条评论
下一页