一句话概括:
利用非对称加密( asymmetric encryption )方法加密传输一个对称加密密钥( symmetric encryption key ),服务器和客户端都拥有这个对称加密密钥,这个密钥用于加密和解密双方所传输的数据。
PKI:Public Key Infrastructure
PKI certificates for Authentication
流程(TLS1.2):
服务器前提:服务器需要获得摘要被加密后的CA证书,存放在服务器上
1、服务器首先生成非对称密钥,拿着自己的公钥和服务器信息 向 CA机构 索要签证
2、CA机构 收到请求后对 服务器公钥和服务器信息进行摘要计算,然后用CA机构自己的私钥对摘要信息进行加密,最后把 服务器公钥 服务器信息 加秘密后的摘要 摘要算法类型 等 打包成CA证书 ,返回给服务器
3、服务器拥有签名后的CA证书
客户端:
1.客户端发起https请求
2.服务器返回一个CA证书,里面包含非对称密钥中的public key
3.客户端首先对CA证书的有效性进行校验,使用CA证书中的公钥加密一个随机字符串(用作后期双方传输的对称密钥),加密后的密文发送给服务器
验证有效性方法:客户端会查看自己机器上收录的可信CA颁发机构,找到对应机构的摘要解密公钥,拿到公钥,用这个公钥对服务器已经用加密公钥加密过的CA证书的信息摘要签名进行解密,获得摘要的签名,再用摘要算法对CA证书信息(公钥、服务器