APP爬虫- 手机安装证书-解决SSL证书的移动端数据包问题

什么是SSL pinning

https协议验证服务器身份的方式通常有三种:
一是根据浏览器或者说操作系统(Android)自带的证书链;
二是使用自签名证书;
三是自签名证书加上SSL Pinning特性;
第一种需要到知名证书机构购买证书,需要一定预算。第二种多见于内网使用。第三种在是安全性最高的,但是需要浏览器插件或客户端使用了SSL Pinning特性。
Android应用程序在使用https协议时也使用类似的3种方式验证服务器身份,分别是系统证书库、自带证书库、自带证书库 + SSL Pinning特性。
所以SSL Pinning,即SSL证书绑定,是验证服务器身份的一种方式,是在https协议建立通信时增加的代码逻辑,它通过自己的方式验证服务器身份,然后决定通信是否继续下去。它唯一指定了服务器的身份,所以安全性较高。

通俗的来说就是:

app发布的时候把服务器的证书信息“绑定“在APP端,然后建立连接时使用预先内置的绑定信息进行服务器证书校验,同时使用足够的代码加密或混淆,这种办法就是SSL pinning,如果证书校验失败,则无法获取服务器端返回信息

解决方法

安装Xposed框架 + JustTruestMe组件
Xposed是一个框架,它可以改变系统和应用程序的行为,而不接触任何APK。它支持很多模块,每个模块可以用来帮助实现不同的功能。
JustTrustMe 是一个用来禁用、绕过 SSL 证书检查的基于 Xposed 模块。JustTrustMe 是将 APK 中所有用于校验 SSL 证书的 API 都进行了 Hook,从而绕过证书检查

你可能感兴趣的:(Python爬虫)