Android 7版本及以上的系统,不再信任用户级的证书,只信任系统级的证书。如果您需要录制App的HTTPS请求,需要App开启网络安全配置,让App信任用户级的证书。本文介绍Android 7版本及以上的系统如何信任用户证书。

操作步骤

  1. 在清单文件AndroidManifest.xml中添加以下代码,开启网络安全配置。
    <?xml version="1.0" encoding="utf-8"?>
    <manifest ... >
        <application android:networkSecurityConfig="@xml/network_security_config"
                        ... >
            ...
        </application>
    </manifest>
  2. 信任用户证书。

    您可以任选以下一种方式信任用户证书:

    • 新建文件res/xml/network_security_config.xml进行网络安全的配置,通过trust-anchors设置信任的证书,代码如下:
      <?xml version="1.0" encoding="utf-8"?>
      <network-security-config>
          <base-config>
              <trust-anchors>
                  <certificates src="user" />
                  <certificates src="system"/>
              </trust-anchors>
          </base-config>
      </network-security-config>
      说明 其中的<certificates src="user" />就是让App信任用户的证书。
    • 新建文件res/xml/network_security_config.xml进行网络安全的配置,只配置在Debug阶段才信任用户的证书,代码如下:
      <?xml version="1.0" encoding="utf-8"?>
      <network-security-config>
          <debug-overrides>
              <trust-anchors>
                  <certificates src="user" />
              </trust-anchors>
          </debug-overrides>
      </network-security-config>
  3. 配置完成后,重新打包App,即可录制HTTPS请求。

参考文档

网络安全配置