面试宝典系列-https实现原理
1. 客户端将它所支持的算法列表和一个用作产生**的随机数发送给服务器;
2. 服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用**的证书发送给客户端;该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生**的随机数;
3. 客户端对服务器的证书进行验证,并抽取服务器的公用**;然后,再产生一个称作pre_master_secret的随机密码串,并使用服务器的公用**对其进行加密,并将加密后的信息发送给服务器;
4. 客户端与服务器端根据pre_master_secret以及客户端与服务器的随机数值(第一步和第二步的随机数)独立计算出加密和MAC**。
5. 客户端将所有握手消息的MAC值发送给服务器;
6. 服务器将所有握手消息的MAC值发送给客户端。
详解:https://my.oschina.net/cccyb/blog/1632018
转载于:https://my.oschina.net/suyain/blog/1920130