1. HTTPS 的实现原理
HTTPS 会对传输内容进行加密,加密方法是非对称加密,非对称加密之作用在证书验证阶段。
HTTPS 整体过程分为证书验证和数据传输阶段。
1.1 证书认证阶段
1)浏览器发起 HTTPS 请求
2)服务端返回HTTPS证书
3)客户端验证证书是否合法,如果不合法就提示告警
1.2 数据传输阶段
1)当证书验证合法后,在本地生成随机数
2)通过公钥加密随机数,并把加密后的随机数传输到服务端
3)服务端通过私钥对随机数进行加密
4)服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后传输
2 为什么数据传输使用对称加密
1)非对称加密的加解密效率低,而http的应用场景中通常端与端之间存在大量的交互
2)一对公私钥只能实现单向的加解密,所以 HTTPS 中内容传输加密采取的是对称加密,而不是非对称加密。