https协议端口号:443
1.安装官网指定charles包
2.pc安装ssl证书
3.手机安装ssl证书
ios手机证书安装地址:
https://www.charlesproxy.com/assets/legacy-ssl/charles.crt
安装证书后,ios手机设置如下: 设置->通用->关于本机->证书信任设置->针对根证书启用完全信任(打开)
Android手机证书安装地址:
https://www.charlesproxy.com/getssl/
4.手机连接联网获取线上https数据
注:
如果出现乱码:打开Charles->代理->代理设置->ssl,点击add添加*:443,点击ok保存设置
具体设置如下:
https://www.jianshu.com/p/fdd7c681929c
5.http与https详解,这个比较全
https://blog.youkuaiyun.com/xiaoming100001/article/details/81109617
简述:
1.http较https不安全;https较http安全
2.http2与http1比较:多路复用,服务器推送,头信息压缩,二进制协议,且http2比http1性能更优化
多路复用:多个请求流,共享一个tcp连接,多流并行,不用建立多个tcp连接
3.https=http+ssl
TLS是传输层加密协议,前身是ssl协议
4.https传输原理
1)client向server发送请求https://baidu.com,然后连接到server的443端口。
2)服务端必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面,这套证书其实就是一对公钥和私钥。
3)传送证书
这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间、服务端的公钥,第三方证书认证机构(CA)的签名,服务端的域名信息等内容。
4)客户端解析证书
这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随即值(秘钥)。然后用证书对该随机值进行加密。
5)传送加密信息
这部分传送的是用证书加密后的秘钥,目的就是让服务端得到这个秘钥,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。
6)服务段加密信息
服务端用私钥解密秘密秘钥,得到了客户端传过来的私钥,然后把内容通过该值进行对称加密。
7)传输加密后的信息
这部分信息是服务端用私钥加密后的信息,可以在客户端被还原。
8)客户端解密信息
客户端用之前生成的私钥解密服务端传过来的信息,于是获取了解密后的内容。