HTTPS创建连接过程详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_20960159/article/details/84570509

现今https对一个网络服务来说是必备的,但之前一只对https浏览器与服务器建立连接的握手过程一知半解,下面进行一下总结:

上面是一张建立https连接的流程图,建立连接过程如下:

1:客户端发送一个随机生成的随机数加上将客户端所支持的所有加密套件发送给服务端,服务端收到客户端的client hello 将随机数保存下来。

2:服务端在保存完客户端的随机数据之后自己也生成一个随机数,并且在客户端发送过来的加密套件中选择一种与生成的随机数和自己的证书(证书中含有公钥)一并通过server hello 发送给客户端。

3:客户端接受到服务端发送的随机数和加密套件总类,先保存下服务端传来的随机数,然后客户端再次生成一个随机送并用服务端传送来的公钥加密生成一个预主秘钥,并叫生成的预主秘钥传输给服务端,(注意:这里客户端有一个验证服务端证书是否有效的过程哦)。

4:服务端接受到客户端传来的预主秘钥,用服务端的私钥进行解密后拿到客户端传来的加密之前的随机数

5:在进行完以上四步之后,客户端和服务端就已经沟通好了双方传输数据使用的加密套件了,所以可以同时通过相同的加密套件生产主秘钥,之后通过主秘钥进行交互,这样一个https连接已经完成!

猜你喜欢

转载自blog.csdn.net/qq_20960159/article/details/84570509