- HTTPS 通信双方的服务端向 CA 机构申请证书,CA 机构是可信的第三方机构,它可以是一个公认的权威企业,也可以是企业本身。企业内部系统一般都是用企业自身的认证系统。CA 机构下发根证书、服务端证书及私钥给申请者。
- HTTPS 通信双方的客户端向 CA 机构申请证书,CA 机构下发根证书、客户端证书及私钥给申请者。
- 客户端向服务端发起请求,服务端下发服务端证书给客户端。客户端在接收到证书后,通过私钥解密证书,并利用服务端证书中的公钥认证证书信息比较证书里的消息,例如,比较域名和公钥与服务器刚刚发送的相关消息是否一致,如果一致,则客户端认可这个服务器的合法身份。
- 客户端发送客户端证书给服务端,服务端在接收证书后通过私钥解密证书,获得客户端证书公钥,并用该公钥认证证书的信息,确认客户端是否合法。
- 客户端通过随机密钥加密信息,并发送加密后的信息给服务端。在服务端和客户端协商好加密方案后,客户单会产生一个随机的密钥,客户端通过协商好的加密方案加密该随机密钥,并发送该随机密钥到服务端。服务端接收这个密钥后,双方通信的所有内容都通过该随机密钥加密。