HTTPS = HTTP + 一组对称、非对称和基于证书的加密技术 HTTPS是最常见的HTTP安全版本。它得到了很广泛的应用,所有主要的商业浏览器和服务器都提供HTTPS。HTTPS将HTTP协议与一组强大的对称、非对称和基于证书的加密技术结合在一起,使得HTTPS不仅很安全,而且很灵活,很容易在出于无序状态的、分散的全球互联网上进行管理
提供: 1,协议版本(如TSL1.0) 2,随机数1(用于生成对话密钥) 3,支持的加密方法(如RSA公钥加密) 4,支持的压缩方法
回应内容: 1,确认使用的加密通信协议版本(TSL1.0) 2,随机数2(用于生成对话密钥) 3,确认加密方法(RSA) 4,服务器证书(包含非对称加密的公钥) 5,(可选)要求客户端提供证书的请求
如果证书不是可信机构颁布,或证书域名与实际域名不符,或者证书已经过期,就会向访问者显示一个警告,是否继续通信
证书没有问题,就会取出证书中的服务器公钥 然后发送: 1,随机数3(pre-master key,此随机数用服务器公钥加密,防止被窃听) 2,编码改变通知(表示随后的信息都将用双方商定的方法和密钥发送) 3,客户端握手结束通知
双方同时有了三个随机数,接着就用事先商定的加密方法,各自生成同一把“会话密钥” 服务器端用自己的私钥(非对称加密的)获取第三个随机数,会计算生成本次所用的会话密钥(对称加密的密钥),如果前一步要求客户端证书,会在这一步验证
服务器生成会话密钥后,向客户端发送: 1,编码改变通知(后面的信息都用双方的加密方法和密钥来发送) 2,服务器握手结束通知
至此,握手阶段全部结束,接下来客户端与服务器进入加密通信,用会话密钥加密内容
