https握手过程
https的握手过程
- Https的握手过程,主要是解决安全传输问题,通过结合非对称加密和对称加密,很好的保证了安全性
- 整个过程差不多有8个步骤
- 第一,客户端发送https请求
- 第二,https要求服务端要有安全证书,这个安全证书可以是自己制作的,也可以是ca证书。自己制作的证书,浏览器会弹出提醒页面,ca证书不会。证书就是包含公钥和私钥。
- 第三,服务端把证书公钥传输过来
- 第四,浏览器收到后,对证书进行解析。 解析的过程,主要是检验你这个公钥是不是合法的,有没有过期,如果发现不对,会弹出警告。 如果发现证书是可以用的,接下来会做一件事情,生成一个随机的key,然后对随机key加密,怎么加密,使用刚刚到手的公钥进行加密。
- 第五,浏览器这边把刚刚加密得到的东西,告诉服务端(传输)
- 第六,服务端拿到后,马上用手上的私钥对它进行解密,得到随机key。 这个随机的key, 它现在充当私钥的身份,用来干嘛,用来进行对称加密。对传输内容的加密,使用对称加密的方式,利用了它的高效的优点,同时又通过非对称加密来保证了我的私钥是安全的。
- 第七,服务端传输加密的信息,就是通过上面说的方式加密的信息。
- 第八,浏览器对加密的信息,肯定能解密。 因为随机key一开始都是它这边生成的。