有没有办法检查编译为SWF文件的Flex应用程序的HTTPS流量?
我正在尝试使用Fiddler,已将DO_NOT_TRUST_FiddlerRoot
添加到我的受信任的根证书颁发机构,因此我的IE现在可以访问通常会抱怨不受信任的证书的其他HTML网站。但是,来自SWF文件的HTTPS流量仍未出现在Fiddler中,实际上,Flex应用程序无法运行(我相信Flex应用程序不支持带有自签名证书的HTTPS)。有办法吗?
更新:为了清楚起见,我对在Flash Player下运行的SWF文件与服务器之间的流量感兴趣(通常,会使用像HTTPService这样的Flex组件)。 SWF文件本身可以通过HTTP或HTTPS提供,但这并不重要。
澄清2 :不要认为源代码可用于SWF文件。如果是,可以使用Flash Builder 4的网络监视器。
(我正在为我的客户评估可能存在的安全风险,以明确我的意图。)
答案 0 :(得分:6)
尝试Charles Proxy它适用于HTTPS和AMF。这是一个带有一些轻微烦恼的免费版本。要使其与ssl一起使用,您需要转到代理 - >代理设置 - > SSL并添加要监控的流量域。
----来自评论----
如果你有原始证书,你可以在Proxy-&gt; SSL证书中进行设置,它将由Charles使用,这不会导致错误(因为代理将拥有适当的证书)。< / p>
答案 1 :(得分:2)
有趣的是,Fiddler今天开始显示HTTPS请求。 Flex应用程序的行为就像它无法访问服务器端(这可能是因为Fiddler的响应是使用自签名证书签名的,Flash Player正确识别该证书与目标站点证书不同)但是,HTTP请求仍然存在已经发送,并通过Fiddler可见。
此外,Robert Bak建议 Charles Proxy可以使用目标网站的证书,我认为这是迄今为止最好的方法(我没有尝试过,因为Fiddler实验已经证明对我们来说已经足够了)。
答案 2 :(得分:1)
Adobe的Flash Builder 4 Beta内置了网络监视器。
点击此处了解详情:Flash Builder 4 beta
根据文件:(Support for HTTPS protocol)
The Network Monitor supports monitoring HTTPS calls to a server certified by a certificate
authority (CA) or that has a self-signed certificate.
To monitor calls over the HTTPS protocol, modify the default preference for the Network Monitor
to ignore SSL security checks. Open the Preferences dialog and navigate to Flash Builder >
Network Monitor.