SSL握手详细过程是怎么样的

  SSL握手是SSL证书(www.anxinssl.com)工作的一个重要环节,绝大部分用户对于SSL握手都不是很了解,本文就来说说SSL握手的详细过程。

  

  一、客户端发出加密通信请求ClientHello

  

  提供:

  

  1,协议版本(如TSL1.0)

  

  2,随机数1(用于生成对话密钥)

  

  3,支持的加密方法(如RSA公钥加密)

  

  4,支持的压缩方法

  

  二、服务器回应SeverHello

  

  回应内容:

  

  1,确认使用的加密通信协议版本(TSL1.0)

  

  2,随机数2(用于生成对话密钥)

  

  3,确认加密方法(RSA)

  

  4,服务器证书(包含非对称加密的公钥)

  

  5,(可选)要求客户端提供证书的请求

  

  三、客户端验证证书

  

  如果证书不是可信机构颁布,或证书域名与实际域名不符,或者证书已经过期,就会向访问者显示一个警告,是否继续通信

  

  四、客户端回应

  

  证书没有问题,就会取出证书中的服务器公钥

  

  然后发送:

  

  1,随机数3(pre-master key,此随机数用服务器公钥加密,防止被窃听)

  

  2,编码改变通知(表示随后的信息都将用双方商定的方法和密钥发送)

  

  3,客户端握手结束通知

  

  五、双方生成会话密钥

  

  双方同时有了三个随机数,接着就用事先商定的加密方法,各自生成同一把“会话密钥”

  

  服务器端用自己的私钥(非对称加密的)获取第三个随机数,会计算生成本次所用的会话密钥(对称加密的密钥),如果前一步要求客户端证书,会在这一步验证

  

  六、服务器最后响应

  

  服务器生成会话密钥后,向客户端发送:

  

  1,编码改变通知(后面的信息都用双方的加密方法和密钥来发送)

  

  2,服务器握手结束通知


请使用浏览器的分享功能分享到微信等