在抓包某些应用的时候,发现虽然使用了JustTrustMe,干掉了证书校验,还是抓包失败。在分析过程中发现对方限制证书,故此记录。
<application android:theme="@style/BaiduMapTheme" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:name="com.baidu.baidumaps.MapApplication" android:allowBackup="false" android:hardwareAccelerated="true" android:largeHeap="true" android:supportsRtl="false" android:networkSecurityConfig="@xml/network_security_config">
application中有一个参数
android:networkSecurityConfig="@xml/network_security_config"
这个文件是一个网络配置文件,可以用来限制证书,certificates标签制定可以使用的证书类型,有system,user,raw resource,而fiddler添加的证书属于user级别,故限定为系统证书即可使fiddler证书失效。
<?xml version="1.0" encoding="utf-8"?>
<network-security-config xmlns:android="http://schemas.android.com/apk/res/android" xmlns:baidu="http://schemas.android.com/apk/res-android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns="http://www.w3.org/ns/widgets" xmlns:aapt="http://schemas.android.com/aapt">
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system"/>
</trust-anchors>
</base-config>
</network-security-config>