解答
1、 客户端发送自己支持的加密规则给服务器,代表告诉服务器要进行连接了
2、 服务器从中选出一套加密算法和 hash 算法以及自己的身份信息(地址等)以证书的形式发送给浏览器,证书中包含服务器信息,加密公钥,证书的颁发机构;
3、客户端收到网站的证书之后要做下面的事情:
验证证书的合法性
如果验证通过证书,浏览器会生成一串随机数,并用证书中的公钥进行加密;
用约定好的 hash 算法计算握手消息,然后用生成的对称密钥进行加密,然后一起发送给服务器。
4、服务器接收到客户端传送来的信息,要做下面的事情:
4.1 用私钥解析出对称密钥,用对称密钥解析握手消息,验证 hash 值是否和浏览器发来的一致;
4.2 使用对称密钥加密消息;
5、如果计算法 hash 值一致,握手成功。
帖子还没人回复快来抢沙发