第五步:Client Key Exchange
完成 SSL/TSL 第一次握手之后 , 客户端就发送 Client Key Exchange 报文作为回应 , 这里实际上就是为了交换秘钥参数 ,
文章插图
这里客户端会再生成一个随机数 , 然后使用服务端传来的公钥进行加密得到密文PreMaster Key 。服务端收到这个值后 , 使用私钥进行解密 , 这样两边的秘钥就协商好了 。后面数据传输就可以用协商好的秘钥进行加密和解密 。
第六步:Change Cipher Spec
客户端发送 Change Cipher Spec 报文 , 提示服务器编码改变 , 就是说以后我们再发消息的时候 , 我是用之前我们定义的密钥进行加密 。
第七步:Client Finished
户端将前面的握手消息生成摘要再用协商好的秘钥加密 , 这是客户端发出的第一条加密消息 , 这一步也是比较关键的一步 , 这次的操作的成功与否 , 就得看服务器是否能够成功解密这次的报文来作为判断依据了 。
第八步:服务器发送 Change Cipher Spec
第九步:服务器发送Server Finished 报文
实际上作用和 Client 差不多 。
第十步:服务端和客户端的 Finished 交换完成了 , 这时候 SSL/TSL 的连接就OK了 , 发送信息也就是完整的称为 HTTPS 了 。
最后就是进行数据传输的内容了 。
既然 HTTPS 都是安全的了 , 为什么不大范围的广泛使用呢?
实际上加密通信虽然在一定程度上保护了数据的隐私 , 但是效率比较低 , 每一次通信都要加密 , 会消耗资源 , 如果包含一些钱的肯定那必须得使用加密的通信 , 而且主要证书要收费呀 。
你要想用 , 那肯定需要证书 , 就像大家在做微信支付的时候 , 不是也需要购买证书么 , 一般一年怎么也得几百块钱 , 所以你知道 HTTP 和 HTTPS 的关系了么?
【面试官问 HTTPS 是怎么从 HTTP 转过来的,我有点懵】
推荐阅读
- 高铁乘务员面试要求
- 高校|时尚心理学:见工面试怎样穿?心理学家透露穿这个颜色录取率最高
- 大学生|假如有5杯水,却来了6个领导,应该怎么分?国企面试题难倒众人
- 00后|00后毕业生简历太狂野了?谷爱凌的朋友!面试官:被简历笑出腹肌
- 服务器搭建网站时,是选http还是https?
- 阿里P8面试官:如何设计一个扛住千万级并发的架构?
- 免费的HTTPS证书只能用3个月?教你怎么永久自动续期,一劳永逸
- 申请永久免费的HTTPS证书
- 面试|来了面试电话,聊了很久,为何没了下文?
- 大厂Android开发高频面试问题:说说你对Zygote的理解