1.客户端向服务器端发起HTTPS请求,连接到服务器端的443端口上
2.服务器端有一个秘钥对,即公钥和私钥,是用来进行非对称加密使用的,服务器端保存着私钥,将公钥发送给客户端
3.客户端收到服务器端的公钥之后,对公钥进行检查,验证其合法性,如果发现公钥有问题,那么HTTPS传输无法继续;如果合格,那么客户端会生成一个随机值,这个随机值就是用于进行对称加密的秘钥,即客户端秘钥,然后用服务器端的公钥对客户端秘钥进行非对称加密,这样客户端秘钥就变成了密文了,至此,https中的第一次HTTP请求结束
4.客户端发起HTTPS的第二个请求,将加密之后的客户端秘钥发送给服务器
5.服务器接收到客户端发来的密文后,会用自己的私钥对其进行非对称解密,解密之后的明文就是客户端秘钥,然后用客户端秘钥对数据进行对称加密,这样数据就变成了密文
6.然后服务器端 将加密后的密文发送给客户端
7.客户端收到服务器发来的密文,用客户端秘钥对其进行对称解密,得到服务器发来的数据。