1、http和https的区别
基础的HTTP通信是明文的,有三大风险:信息被窃听,信息被篡改,身份被冒充
https相对于http增加了TSL(SSL)
TSL协议使用非对称加密保护下的对称加密在保证通信效率的同时防止窃听,使用证书体系防止信息篡改和身份冒认
2.https过程
3.验证证书的有效性的过程
认证机构的工作
认证机构会生成一对秘钥, 公钥和私钥
公钥证书的生成包括了两部分内容
- 数字签名
- 服务器公钥
其中数字签名的生成过程是:
- 服务器公钥 经过数字摘要算法 生成数字指纹
- 把生成的数字指纹 在用认证机构的私钥加密 生成数字签名
https中客户端验证公钥证书的过程
服务器将公钥证书发送给客户端 客户端验证公钥证书 从而确保公钥的合法性
- 客户端取出提前内置在手机内部的认证机构的公钥
- 用认证机构的公钥去解密公钥证书里的数字签名 从而得到数字指纹
- 客户端对公钥证书的服务器公钥进行 数字摘要算法 从而生成数字指纹
- 对比客户端自己生成的数字指纹(第3步)和解密得到的数字指纹(第2步)是否一致 如果一致则公钥证书验证通过