wq0

2020-01-20

总结HTTPS握手层和加密层

在握手层,负责交换随机数,密钥套件和密钥协商等,无论是RSA还是DH方式,首先都是客户端发送自己支持的密码套件给服务器,服务器从中选择一个密钥套件,完成密码套件的协商,然后服务器端发送自己的证书给客户端进行身份验证,客户端完成身份验证后,可以开始密钥协商。RSA密钥协商,客户端直接把加密后的预备主密钥发送给服务器端,DH密钥协商则先由服务器端发送DH参数和DH公钥给客户端,客户端根据DH参数生成自己的密钥对,再把客户端DH公钥发送给服务器端,完成密钥协商。