福哥答案2021-01-01:这道题是我被大厂面试的题,但网上的答案太多了,故直接引用。
HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 超文本传输安全协议)。
HTTPS在传统的HTTP和TCP之间加了一层用于加密解密的SSL/TLS层(安全套接层Secure Sockets Layer/安全传输层Transport Layer Security)层。使用HTTPS必须要有一套自己的数字证书(包含公钥和私钥)。
HTTPS解决的问题:
信息加密传输:第三方无法窃听;
校验机制:一旦被篡改,通信双方会立刻发现;
身份证书:防止身份被冒充。
HTTPS加密过程:
1.客户端请求服务器获取证书公钥。
2.客户端(SSL/TLS)解析证书(无效会弹出警告)。
3.生成随机值。
4.用公钥加密随机值生成密钥。
5.客户端将秘钥发送给服务器。
6.服务端用私钥解密秘钥得到随机值。
7.将信息和随机值混合在一起进行对称加密。
8.将加密的内容发送给客户端。
9.客户端用秘钥解密信息。