1、客户端发起https请求
2、服务端收到请求,服务端的配置
采用https的服务器必须要有一套数字证书,这套证书其实就是一对公钥和私钥。公钥可理解为一把锁,私钥可理解为这把锁的钥匙。服务器是这把钥匙(私钥)的唯一拥有者,服务器会把公钥发送给其他人,其他人拿到这把锁(公钥)后,可以把一些重要的东西锁起来发给服务器,服务器可以使用钥匙(私钥)打开这把锁(公钥),查看锁住的内容
3、服务端发送证书给客户端
这个证书其实就是公钥,公钥包括证书颁发机构,过期时间等
4、客户端拿到证书,解析证书
由TLS完成证书解析。首先验证证书是否有效,如颁发机构,过期时间,如果发现异常,弹出一个警告框,提示证书有问题;如果没有问题,客户端会生成一个随机值R,然后使用该证书对随机值R加密
5、客户端发送加密信息
该加密信息就是证书加密的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端通信就靠这个随机值R进行加密解密了
6、服务端解密客户端发送的加密信息
服务端用私钥(钥匙)解密客户端加密的信息,得到随机值R
7、服务端以随机值R为密钥使用对称加密算法加密内容并将内容返回给客户端
8、客户端解密服务器发送的内容
客户端以随机值R为密钥,使用之前与服务端约定好的解密算法获取服务器内容