HTTPS通信过程

首先服务器像证书机构进行证书申请:
实际得到的证书是证书机构例如CA通过自己的私钥,将服务器提交的信息(服务器公钥,域名等)进行了签名,最终证书就包含(签名+服务器信息)

当客户端发起HTTPS请求时,
首先客户端发起一次Client Hello:附加支持的TLS版本,对称算法,非对称算法,Hash算法,客户端本地随机数
服务器收到后回应一次Server Hello,附加为确定选用的TLS版本,对称算法,非对称算法,Hash算法,服务端本地随机数。
接着服务器发起一次证书传递通信,将证书+证书机构信息(证书机构公钥,签发机构名称,位置等信息)交给操作系统根证书进行私钥签名并发送
客户端收到后,首先也是通过操作系统公钥进行签名解密与(证书+证书机构信息)Hash后验证。确定无误后,再通过证书的公钥对证书签名进行解密以及Hash验证,确认无误后即确定服务器公钥无误。

接着客户端生成一个pre master secret(随机数),通过服务器公钥加密,发送给服务器,接着客户端和服务端利用之前的随机数以及pre master secret生成对称加密的秘钥开始进行对称加密通信。

你可能感兴趣的:(HTTPS通信过程)