一.首先HTTP请求服务端生成证书,客户端对证书的有效期、合法性、域名是否与请求的域名一致、证书的公钥(RSA加密)等进行校验;
二.客户端如果校验通过后,就根据证书的公钥的有效, 生成随机数,随机数使用公钥进行加密(RSA加密);
三.消息体产生的后,对它的摘要进行MD5(或者SHA1)算法加密,此时就得到了RSA签名;
四.发送给服务端,此时只有服务端(RSA私钥)能解密。
五.解密得到的随机数,再用AES加密,作为密钥(此时的密钥只有客户端和服务端知道)。
六.秘钥的协商过程是非对称加密,之后的通讯过程是使用此秘钥的对称加密, 非对称加密算法的性能是非常低的,一般的HTTPS连接只在第一次握手时使用非对称加密,通过握手交换对称加密密钥,在之后的通信走对称加密