面试题:HTTPS的工作原理?HTTPS是怎么建立连接的?
我的回答:
1.客户端向服务器发起请求,请求建立连接。
2.服务器收到请求之后,向客户端发送其SSL证书,这个证书包含服务器的公钥和一些其他信息。
3.验证证书。客户端会对服务器发送过来的证书进行验证,验证其是否过期,是否被撤销,是否与请求的服务器名相符。
4.客户端进行响应。客户端生成一个随机的对称加密密钥,被称为会话密钥,使用服务器的公钥对其进行加密,然后发送给服务器。
5.服务器解密会话密钥,服务器使用自己的私钥来解密客户端发送过来的会话密钥。
6.服务器使用会话密钥加密一个确认信息,发送给客户端,表示会话密钥已经被接收且可以进行加密通信。
7.此时,客户端和服务器都有了相同的会话密钥,之后双方都使用这个密钥进行对称加密。