我正在尝试让Genymotion(Virtualbox中托管的x86 Android模拟器)与Charles代理一起工作。我已经设法使用网关ip(设备配置为使用仅主机适配器的fwiw设备)通过网关ip将设备连接到设备的wifi代理设置中,并且可以正常代理HTTP流量。我已经在虚拟机上安装了charles cert,但是所有的ssl连接仍然会失败,并显示“SSL:无法识别的SSL消息,纯文本连接?”。错误。有谁能够配置genymotion与Charles一起使用ssl代理?我可以通过virtualbox设置实现更通用的解决方案吗?

提前致谢。

最佳答案

更新了21.07.2016 ,反射(reflect)了自Charles 3.10起的更改

为了在SSL连接上启用纯文本通信,Charles充当中间人。管理设备通过Charles http代理进行通信后,您需要从正在运行的Charles实例下载并安装证书,该证书由Charles Root证书生成并签名。

基本上有两种可能的方式(我更喜欢第一种):

直接下载并在设备上安装

设备必须配置为通过Charles通信!

  • 启动浏览器
  • 打开http://charlesproxy.com/getssl
  • 证书下载将开始
  • 确认插入对话框

  • 从Charles UI保存证书
  • 通过“帮助-> SSL代理->保存Charles根证书..”保存证书。
  • 将其放在设备上(通过adb push,email ....),然后单击文件以进行安装。

  • 注意1:安装证书后,您将被迫为设备创建安全性Pin/Pattern/Password。

    注意2:由于Charles v3.10不再支持单个SSL根证书。

    关于android - Genymotion和Charles的SSL代理?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19280987/

    10-11 17:17