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