1. 客户端发起HTTPS连接请求
当浏览器请求一个HTTPS网址时,客户端(例如浏览器)会向服务器发起一个HTTPS请求。
2. 服务器返回数字证书
服务器收到请求后,会向客户端发送包含公钥的数字证书。数字证书由**权威认证机构(CA)**颁发,包含以下内容:
- 服务器的公钥
- 证书颁发机构的信息
- 证书的有效期
- 服务器的域名等信息
浏览器会验证这个证书是否由可信的CA签发,并且证书是否有效。
3. 客户端验证证书
客户端收到服务器的数字证书后,会执行以下步骤:
- 检查证书的有效性(如证书是否过期、域名是否匹配、是否由可信的CA签发)。
- 验证成功后,客户端会生成一个会话密钥(对称密钥),用于后续的数据加密。
4. 客户端使用公钥加密会话密钥
为了安全地传输会话密钥,客户端会使用服务器的公钥对生成的会话密钥进行加密,并将加密后的密钥发送给服务器。
5. 服务器使用私钥解密会话密钥
服务器收到加密的会话密钥后,使用自己的私钥将其解密,获得客户端生成的对