嵌入.NET WinForms应用程序的Flash Player无法使用自签名证书加载HTTPS内容

时间:2011-09-23 03:57:25

标签: c# flash crossdomain.xml

我在.NET WinForms应用程序中嵌入了Flash Player ActiveX控件,并尝试通过HTTPS URL将SWF加载到FP控件中。在开发中,我使用自签名证书,似乎在这种情况下,我无法让FP接受证书并允许HTTPS通信。

当我尝试直接在https上加载swf时,我看不到swf,当我右键单击控件时,我看到“Movie not loaded”。

我可以通过http加载swf,然后尝试通过https进行Flash Remoting调用。我不希望这在默认情况下工作,但我添加了一个crossdomain.xml文件以允许不安全的通信。 crossdomain.xml文件位于服务器的根目录中,但未加载。我使用完整的https url添加了对loadPolicyFile的显式调用,但仍未加载crossdomain.xml文件。本地IIS日志根本不显示任何文件请求,HTTPERR文件中没有任何内容,Flash的policyfiles.txt日志说明

  

警告:无法从https://localhost/crossdomain.xml

加载政策文件

如果我在浏览器中托管swf,那么浏览器会提示接受证书,一切正常。我已经在IE和Firefox中接受了证书。

我也试过在FP ActiveX控件上调用DisableLocalSecurity()但它没有效果。我并没有真正期待它,因为我实际上并没有在本地加载swf,而是从网址加载。

任何人都可以确认自签名证书是否确实存在问题?有没有办法让FP接受证书?任何方式绕过http / https限制(这是一个本地安装的应用程序,所以我可以更改我们需要的任何本地配置文件)?

1 个答案:

答案 0 :(得分:1)

原来,Flash Player本身不支持独立或嵌入桌面应用程序中的HTTPS。它确实在浏览器中支持HTTPS,但之后它使用浏览器进行https调用。

桌面应用中嵌入的Flash Player中的HTTPS支持是Flash Player 11中的一项新功能。

http://kb2.adobe.com/cps/916/cpsid_91694.html

  

Flash Player 11中的新功能

     

TLS安全套接字支持(Flash Player新增功能) - 为客户端/服务器应用程序启用安全通信。