https是通过对称密钥进行加密和解密
· 服务端提供个人信息和公钥去数字证书签发机构(CA)买证书
· CA对服务器公钥和个人信息的hash用CA私钥加密生成数字签名
· 数字签名具有可被验证性和不可伪造性,保证了服务器的公钥的真实性
· 证书中包含服务器自己的个人信息、公钥(全网公开,不用保密)和数字签名
· 客户端收取服务端发送的从CA得到的包含服务端公钥的证书
· 客户端维护各种CA的公钥表
· 客户端通过同样的方法得到公钥和个人信息的hash
· 客户端通过CA公钥验证证书中签名(Ver公钥(hash,签名)=0或1)
· 若验证错误,或正确但服务器个人信息(网址)不对则断开SSL连接
· 若验证正确,客户端产生一个随机对称密钥
· 客户端通过得到的服务器公钥加密对称密钥,发送
· 服务端通过自己私钥解密得到对称密钥,开始通信
网友评论