https原理
简要理解:
1、客户端请求服务器
2、服务器返回一个ca证书,证书里面有服务器的非对称加密的公钥
3、ca证书也是非对称加密的,是ca机构用其私钥加密过的
4、客户端从受信任的ca证书列表中取出该机构证书的公钥,并对证书进行解密
5、客户端解密后就得到服务器的公钥
6、客户端随机生成一堆对称加密密钥,并用服务器的公钥进行加密,发给服务器,以后服务器和客户端双方就用这个对称密钥来发送信息了
参考文章:https://www.jianshu.com/p/e96620cdc2cf
详细理解:
1、https是使用非对称加密算法来对服务器客户端双方的报文进行加密的,所谓非对称加密,就是加密和解密的时候使用不同的秘钥,私钥加密后的密文,只要是公钥,都可以解密,但是公钥加密后的密文,只有私钥可以解密。私钥只有一个人有,而公钥可以发给所有的人。
2、https传输中服务器使用私钥,服务器会把公钥告诉客户端,客户端给服务器发送数据的时候就会用其提供的公钥来进行加密
3、服务器的公钥不是直接发送给客户端的,如果直接发送的话有可能会造成中间人窃取冒充服务器给客户端发送假的公钥
4、服务器的公钥是放在证书上的,那如何保证这个证书的真实性呢,证书是由信任的ca机构颁发的,而服务器发给服务器的证书也是加密的。是ca机构用他们的私钥对证书加密以后,客户端再使用ca机构的公钥来进行解密。所以如果证书能够用ca机构的公钥来解密我们就