【已解决】android7.0以上使用charles抓HTTPS包报错certificate_unknown

手机上是否有装证书都可以使用下面的方法:

  1. 在你的AndroidManifest.xml文件中添加如下配置:

    <?xml version="1.0" encoding="utf-8"?>

    <manifest … >
    <application android:networkSecurityConfig="@xml/network_security_config"
    … >


  2. 在res目录下新建一个xml文件夹,之后在res/xml/路径下新建文件network_security_config.xml

    res/xml/network_security_config.xml:

    <?xml version="1.0" encoding="utf-8"?>
     <network-security-config>
         <domain-config>
         <domain includeSubdomains="true">你要抓取的域名</domain>
         <trust-anchors>
         <certificates src="@raw/证书文件名"/>
         </trust-anchors>
     </domain-config>
    
  3. 在res目录下新建一个raw文件夹,将手机上安装的证书文件放入res/raw/目录下,证书格式:pem,ca等(chales的话就是将你在手机浏览器打开http://charlesproxy.com/getssl下载的证书放入即可),步骤2中的证书文件名,就是你放入res/raw/目录下文件的名字

配置完重新运行项目,就可以看到报文了!

上一篇:Emacs-223-mode-line美化


下一篇:Azure – Key Vault Certificate