HTTPS 通信流程时序图:
这个详细的时序图展示了 HTTPS 通信的完整流程,重点包含以下几个方面:
-
客户端发起请求:
- 客户端向服务器发送HTTPS请求,连接到服务器的443端口。
-
服务器发送证书:
- 服务器将其数字证书发送给客户端。该证书包含服务器的公钥、证书颁发机构(CA)的签名等信息。
-
客户端验证证书:
- 客户端验证证书的有效性,包括证书链验证、有效期检查和域名匹配等。
-
密钥交换:
- 客户端生成一个预主密钥(Pre-Master Secret),使用服务器的公钥加密后发送给服务器。
- 服务器使用其私钥解密,得到预主密钥。
-
生成会话密钥:
- 客户端和服务器使用预主密钥、客户端随机数和服务器随机数,通过伪随机函数(PRF)计算得到主密钥(Master Secret)。
- 主密钥用于生成对称加密的会话密钥。
-
加密通信:
- 客户端和服务器使用协商的对称加密算法和会话密钥进行加密通信。
在上述过程中,常用的加密算法包括: