数字证书
- 服务器向数字证书认证机构提出申请
- 认证机构用自己的私有密钥给服务器的公开密钥签名并颁发数字证书(包括服务器的公开密钥和数字签名)
- 客户端收到服务器发送的数字证书后,使用认证机构的公开密钥验证数字签名,获得服务器的公开密钥
非对称加密
- 客户端使用刚刚获得的公开密钥对一段随机数(pre-master secret)加密后发给服务端
- 服务端使用自己的私钥解密,此后客户端和服务端的通信使用pre-master secret加密
对称加密
- 加密解密使用相同的密钥
混合加密
就是上面两个过程:
- 使用公开密钥加密传递密钥
- 使用对称加密方法传递数据