面试官:https的请求过程说一下吧。
我:。。。
HTTPS 协议是由 HTTP 加上 TLS/SSL 协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。
安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。
1、客户端将支持tls版本、加密套件(加密密码算法和散列算法)、生成一个随机数发给服务器。
2、服务器确认支持的tls版本、选择的加密套件通知客户端
3、服务器发送证书和服务器公钥给客户端。
4、客户端验证证书的合法性,验证通过后,客户端再生成一个随机数:预主密钥,将预主密钥与刚收到的服务器公钥加密后发送给服务器。
5、服务器收到加密后的预主密钥后使用自己的私钥进行解密。
以上为非对称加密,当握手成功后双方生成用于加密和解密的对称密钥。接下来就通过对称加密技术进行传输。