HTTP和HTTPS
HTTPS是以安全为目标的通道,是HTTP的安全版。HTTPS的安全基础是TLS(TLS前身是SSL)SSL。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。
HTTP和HTTPS的区别
- HTTPS协议需要到CA申请证书。
- HTTP是明文传输,HTTPS是具有安全性的SSL加密传输协议。
- HTTP使用80端口,HTTPS是443端口。
- HTTP连接比较简单,是无状态的。
HTTPS
- 内容加密
- 身份认证
- 数据完整性
证书包含的信息:
- 证书的颁发机构
- 服务端网址
- 机构私钥加密的服务端公钥
- 机构私钥加密的证书签名
整个HTTPS的流程:
首先服务端会向CA机构申请CA证书,CA机构用CA私钥加密了服务端的信息,证书里的信息如上,里面就包括了服务端的公钥KEY1。
之后客户端向服务端请求,服务端会把自己的证书发给客户端,中间人拦截了也没用处。
客户端维护了CA机构和CA机构的公钥,接着验证证书签名,如果签名无误,再用CA公钥解密获得服务端公钥KEY1,用这个KEY1加密待会用来传输信息的对称密钥KEY2,加密后的结果发送给服务端,服务端用KEY1私钥解密出来得到对称密钥KEY2,之后传输信息就用KEY2进行加密。