【问题标题】:Charles Proxy not working for Android version above 7.0?Charles Proxy 不适用于 7.0 以上的 Android 版本?
【发布时间】:2018-10-01 22:36:18
【问题描述】:

我一直在使用 Charles 拦截请求和响应,但是当我尝试针对 Android Oreo 的 google 像素时,它一直给我握手异常。我知道他们在 Naught 关于网络安全方面做了一些改变。任何形式的帮助将不胜感激。

【问题讨论】:

    标签: android ssl charles-proxy request-response


    【解决方案1】:

    如果您在 Android 中使用 Charles on Device tar-getting above 7.0 时遇到问题,请按照以下步骤操作,as detailed in the Charles Proxy documentation

    1. 添加下面一行

      android:networkSecurityConfig="@xml/network_security_config"> 
      

      到您的应用程序标签中的清单文件。

    2. 使用名为 network_security_config 的文件创建一个 xml 文件夹,然后在其中粘贴以下代码。

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <base-config>
            <trust-anchors>
                <certificates src="system" />
            </trust-anchors>
        </base-config>
        <debug-overrides>
            <trust-anchors>
                <certificates src="user" />
            </trust-anchors>
        </debug-overrides>
    </network-security-config>

    注意:如果您只有单一的构建风格,请不要将上述内容提交到您的分支。

    对于具有不同构建风格(调试/发布/其他)的人,也可以将其用于调试版本和提交。

    【讨论】:

    • 为什么会造成安全问题?您只是允许调试版本的用户证书在开发过程中完全没问题。对于发布版本,您只需根据您的安全配置允许系统证书。
    • @ubuntudroid 当您有不同的构建风格时,您是完全正确的。但有时人们也忘记在发布版本中删除这些愚蠢的代码。 (我的笔记是专门为他们写的:D)
    【解决方案2】:

    另一个答案也是正确的,但根据the documentation base-config xml 标签根本不需要。虽然没有明确提及,但他们的示例不包含该标签。

    这是文档站点上“配置 CA 以进行调试”的代码:

    res/xml/network_security_config.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <debug-overrides>
            <trust-anchors>
                <certificates src="@raw/debug_cas"/>
            </trust-anchors>
        </debug-overrides>
    </network-security-config>
    

    我们可以只允许用户安装证书,而不是指定特定的证书,就像在另一个答案中一样:

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <debug-overrides>
            <trust-anchors>
                <certificates src="user" />
            </trust-anchors>
        </debug-overrides>
    </network-security-config>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-19
      • 2019-06-16
      相关资源
      最近更新 更多