我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情

HTTPS是怎么连接的?数据又是怎么加密的呢?
第一步
客户端和服务端建立一个TCP连接。
第二步
连接建立完毕后,客户端发送一个“client hello”到服务端。
这条消息包括一套客户端支持的加密算法和最新的TLS 版本号。
服务端用“server hello”进行回应,让客户端知道服务端是否支持算法和TLS版本号。
接下来服务端会发送SSL证书给到客户端。证书包含public key, host name, expiry dates等。然后客户端会校验这个证书。
第三步
校验完SSL证书后,客户端生成一个session key,并且使用public key进行加密。服务端收到加密的session key后,会用服务端的private key进行解密。
第四步
客户端和服务端现在都拿到了session key,即对称加密的密钥。后续客户端和服务端就用这个密钥对双向通信的数据进行加密。
196

被折叠的 条评论
为什么被折叠?



