Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Windows上使用Charles Web Proxy和最新的Android Emulator配置SSL证书?_Android_Ssl_Ssl Certificate_Webproxy_Charles Proxy - Fatal编程技术网

如何在Windows上使用Charles Web Proxy和最新的Android Emulator配置SSL证书?

如何在Windows上使用Charles Web Proxy和最新的Android Emulator配置SSL证书?,android,ssl,ssl-certificate,webproxy,charles-proxy,Android,Ssl,Ssl Certificate,Webproxy,Charles Proxy,我想使用Charles web proxy在Windows中与Android emulator一起工作。我已成功设置charles,并已使用命令行启动emulator: emulator -http-proxy 127.0.0.1:8888 @NexusOne 我可以在Charles中看到来自android emulator的流量,但问题是我正在开发一个使用SSL的实时API,我不确定如何配置Charles,让我播放发送和接收的数据。我知道Charles中有两个地方设置了SSL(代理->代理设

我想使用Charles web proxy在Windows中与Android emulator一起工作。我已成功设置charles,并已使用命令行启动emulator:

emulator -http-proxy 127.0.0.1:8888 @NexusOne

我可以在Charles中看到来自android emulator的流量,但问题是我正在开发一个使用SSL的实时API,我不确定如何配置Charles,让我播放发送和接收的数据。我知道Charles中有两个地方设置了SSL(代理->代理设置->SSL和代理->客户端SSL证书),但我找不到任何合适的文档来完成我想做的事情。有没有人有查尔斯的经验,或者有证书,谁能解释如何做到这一点。也许证书入门也不错,因为我似乎不知道为什么这么难。

在Charles中,转到代理>>代理设置并选择SSL选项卡。将您的主机添加到位置列表中

例如,如果您的安全呼叫将要进行,则可以输入secure.example.com或*.example.com

完成上述操作后,您可能需要右键单击主窗口中的调用并选择SSL代理选项


希望这对您有所帮助。

您还应该单击Charles帮助菜单中的“安装Charles CA SSL证书…”。请参阅

中的更多详细说明,要使用charles远程捕获http或https流量,您需要执行以下操作:

主机-运行Charles并托管代理的计算机 客户端–生成您将捕获的流量的用户机器

主机

  • 安装完全许可的charles版本
  • 代理->代理设置->选中“启用透明HTTP代理”
  • 代理->SSL代理设置->选中“启用SSL代理”
  • 代理->SSL代理设置->单击添加按钮并在两个字段中输入*
  • 代理->访问控制设置->添加本地子网(例如:192.168.2.0/24),以授权本地网络上的所有计算机使用来自另一台计算机的代理
  • 建议在charles中设置“自动保存工具”,这将自动保存和旋转charles日志 客户端计算机:

  • 安装并永久接受/信任charles SSL证书
  • 配置IE、Firefox和Chrome以使用charles托管代理的套接字(例如:192.168.1.100:8888)
  • 当我测试这一点时,我拿起了两行Facebook HTTPS聊天记录(一行是给某人的,另一行来自)

    如果通过以下方式启动仿真器,也可以通过这种方式捕获android仿真器流量:

    emulator -avd <avd name> -http-proxy http://local_ip:8888/
    

    emulator-avd

    对我有用的东西真的应该转移到iPhone上:

    查尔斯

  • 启用透明Http代理
  • 启用SSL代理
  • 右键单击传入请求并选择SSL代理
  • 苹果

  • 下载Charles CA证书包
  • 发送电子邮件至charles-proxy-ssl-proxying-certificate.crt
  • iPhone

  • 在端口8888上为Charles启用http代理
  • 选择并安装电子邮件附件,是,请信任它
    瞧,您现在可以查看SSL代理中添加的域中的加密流量,这里是在Android设备中执行此操作的分步说明。应与iOS相同:

  • 开放式查尔斯
  • 转到代理>代理设置>SSL
  • 选中“启用SSL代理”
  • 选择“添加位置”,然后输入主机名和端口(如果需要)
  • 单击“确定”并确保选中该选项
  • 从此处下载Charles证书:
  • 通过电子邮件将该文件发送给您自己
  • 在设备上打开电子邮件并选择证书
  • 在“命名证书”中输入您想要的内容
  • 单击“确定”,您将收到一条消息,说明已安装证书
  • 然后,您应该能够在Charles中看到SSL文件。如果你想截取和更改值,你可以使用“Map Local”工具,这真是太棒了:

  • 在Charles中,转到工具>地图本地
  • 选择“添加条目”
  • 输入要替换的文件的值
  • 在“本地路径”中选择您希望应用程序加载的文件
  • 单击“确定”
  • 确保选中该条目,然后单击“确定”
  • 运行你的应用程序
  • 您应该在“注释”中看到加载的是文件,而不是活动文件

  • Charles提供HTTPS代理的方式发生了一些变化

    首先,证书安装选项已移至“帮助”菜单

    Help -> SSL Proxying -> Install Charles Root Certificate
    Help -> SSL Proxying -> Install Charles Root Certificate in iOS Simulators
    

    第二,从IOS 9开始,你必须在<代码>信息> PLIST 中提供<代码> NASAPTrimeSturialSturie<代码>选项,如果你想让查尔斯作为中间人正常工作,你必须添加:

    <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
    <true/>
    
    NSTemporaryExceptionAllowsInsecureHTTPLoads
    
    作为域的一部分,请参阅完整示例:

    <key>NSExceptionDomains</key>
        <dict>
            <key>yourdomain.com</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSTemporaryExceptionMinimumTLSVersion</key>
                <string>TLSv1.1</string>
            </dict>
    
    NSExceptionDomains
    yourdomain.com
    n包括多个域
    NSTemporary ExceptionalLowsInSecureHttpLoads
    NSTemporaryExceptionMinimumTLSVersion
    TLSv1.1
    
    原因是(我猜)查尔斯在某个点上充当中间HTTPS服务器中的人后,在透明HTTP中通信。 最后一步是在Charles中为此域激活SSL代理(右键单击域并选择启用SSL代理)


    这些东西帮助了我

  • 转到代理->SSL代理设置->添加
  • 在此处添加您的站点名称,并提供端口号8888
  • 右键单击左侧面板上的站点名称并选择“启用” SSL代理”

  • 希望这对其他人有所帮助。

    这里提到的认证安装步骤都是正确的

    但是如果你有一个单独的hav的痛苦