HTTPS协议
什么是HTTPS
HTTPS:超文本安全传输协议,和HTTP相比,多了一个SSL/TSL的认证过程,端口为443
在http(超文本传输协议)基础上提出的一种安全的http协议,因此可以称为安全的超文本传输协议。http协议直接放置在TCP协议之上,而https提出在http和TCP中间加上一层加密层。从发送端看,这一层负责把http的内容加密后送到下层的TCP,从接收方看,这一层负责将TCP送来的数据解密还原成http的内容。
SSL(Secure Socket Layer):是Netscape公司设计的主要用于WEB的安全传输协议。从名字就可以看出它在https协议栈中负责实现上面提到的加密层
HTTPS流程
- peer终端发送一个request,https服务端把支持的加密算法等以证书的形式返回一个身份信息(包含ca颁发机构和加密公钥等)。
- 获取证书之后,验证证书合法性。
- 随机产生一个密钥,并以证书当中的公钥加密。
- request https服务端,把用公钥加密过的密钥传送给https服务端。
- https服务端用自己的密钥解密,获取随机值。
- 之后双方传送数据都用此密钥加密后通信。