TLS 握手的目标是:在不可信网络上认证服务器身份协商出只有双方知道的会话密钥。以 TLS 1.3 为例(1-RTT):客户端发 ClientHello(支持的版本、密码套件、随机数、自己的 DH 公钥份额)→ 服务端回 ServerHello(选定套件、随机数、自己的 DH 公钥份额)、证书与 CertificateVerify(用证书私钥对握手消息签名,证明持有私钥)→ 双方各自用 DH 份额算出预主密钥,结合随机数派生会话密钥,后续通信用对称加密。

证书的作用是把域名与公钥绑定:浏览器验证证书链到内置根 CA、检查有效期、域名匹配(SAN)与吊销状态,确认"这个公钥确实属于 example.com",从而防中间人攻击——攻击者没有受信 CA 签发的目标域名证书,无法伪造身份。

相比 TLS 1.2:1.3 砍掉了 RSA 密钥传输等不安全套件,强制前向安全(ECDHE),握手从 2-RTT 缩到 1-RTT,且握手后半段(证书)也加密。易错点:HTTPS 防的是传输链路的窃听篡改,不防已中招的客户端、不隐藏域名(SNI 明文,ESNI/ECH 才解决)。追问方向:中间人攻击为何需要装根证书、HSTS、证书透明(CT)。