HTTPS工作机制
首先说下HTTP和HTTPS协议的区别:
1、HTTP通过明文传输;HTTPS通过SSL协议加密传输
2、HTTP协议端口80;HTTPS协议端口443
接下来记下HTTPS在客户端和服务端的运行机制
1、首先,客户端需要将自己支持的一套加密协议发送给服务端
2、服务端会从中选出自己也支持的协议,然后将自己的身份信息(网站地址,公钥、证书机构)等以证书形式发送给客户端
3、客户端接收到后,首先,会去验证证书里的信息和自己想要的是否一致,eg:网站地址;
4、然后,客户端会随机生成一串密码(对称**),然后用公钥加密密码;
5、客户端使用约定好的HASH算法计算握手消息,并使用生成的密码(对称**)对消息进行加密,最后将之前生成的所有信息发送给服务端。
6、服务端收到报文后会先用私钥解密出密码,然后用密码去解密得到握手信息,验证HASH是否一致
7、服务端再使用密码加密一段握手消息,发送给客户端。
8、客户端解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手过程结束
后面再通信,都是用密码加密后解密进行通信
================================================================================
TCP3次握手