如何在Windows上使用Charles Web Proxy和最新的Android Emulator配置SSL证书?
我想使用Charles web proxy在Windows中与Android emulator一起工作。我已成功设置charles,并已使用命令行启动emulator:如何在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(代理->代理设
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并托管代理的计算机 客户端–生成您将捕获的流量的用户机器 主机
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的痛苦