HTTPS 加密原理
概述
HTTPS 连接过程是 “对称加密” 和 “非对称加密” 相结合来完成的。
- 在生成通信密钥阶段:用到的是非对称加密。
- 在传输内容阶段:用到的是对称加密。
非对称加密
-
“私钥加密、公钥解密” 用来签名:服务器向 CA 申请公钥证书,CA 用其私钥加密(签名);服务器把公钥证书发给客户端,客户端通过 CA 公钥解密(验证),确认服务器公钥是否正常。
-
“公钥加密、私钥解密” 用来加密:客户端在验证服务端公钥之后,生成通信密钥并用公钥加密,传递给服务端。
对称加密
- 客户端与服务端建立 HTTPS 连接之后,基于双方达成一致的通信密钥进行双向加密通信。