卡在Android TV的Charles代理证书安装中

时间:2019-02-21 13:16:19

标签: android certificate ssl-certificate android-tv charles-proxy

我们最近开始在Android TV上工作,我们需要连接charles代理工具以简化开发过程。我们能够使用相同的wifi连接在电视上设置代理。

但是我们没有任何方法在Android电视中安装查尔斯可信任证书。我们尝试了各种方法,但没有任何可行的方法:

  1. 我们尝试将证书推送到android电视,但没有办法继续安装保存在电视存储中的证书。

  2. 我们在android手机中可用的高级wifi中找不到“安装证书”选项。我们在手机中使用了此选项,以安装保存在本地设备存储中的证书。

  3. 我们尝试设置代理,然后尝试在chrome上打开www.charlesproxy.com/getssl来下载并安装证书,但是这种方法也不起作用。由于启用了代理,我们无法通过Google帮助启动Chrome。

  4. 我们尝试了网址中提供的方法:

  

how to install CA certificate programmatically on Android without user interaction

但是上述方法无效。这些命令给出了权限被拒绝的问题。我们不希望我们的Android电视扎根。

请帮助我们安装信任证书。任何帮助将不胜感激!!

2 个答案:

答案 0 :(得分:3)

我认为您可能已经解决了您的问题,但对于仍在为此苦苦挣扎的其他人,您可以尝试:

  1. 从 Charles 应用程序导出证书。通常命名为'charles_ssl_proxying_certificate.pem'

  2. 将该证书作为原始文件添加到您的 android 项目中。 (src/res/raw)

  3. 创建一个新的资源文件夹“xml”(可能你已经有了)

  4. 创建一个名为“network_security_config.xml”的新 xml 文件

  5. 将此内容粘贴到该新文件中

    <network-security-config>
    <base-config>
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
    <debug-overrides>
        <trust-anchors> 
            <certificates src="@raw/charles_ssl_proxying_certificate"/>
            <certificates src="user" />
        </trust-anchors>
    </debug-overrides>
    </network-security-config>
    
  6. 将此行添加到您的 androidManifest 应用程序标签

    android:networkSecurityConfig="@xml/network_security_config"
    

如果您已经在 AndroidTV 上配置了代理,这就足够了

答案 1 :(得分:0)

听起来您似乎尚未将应用程序配置为信任Charles生成的SSL证书-请参阅SSL Certificates指南中的 Android 部分。