错误的证书名称导致Adobe Flash电影中的“安全沙箱违反”错误

问题描述

|| 我正在使用HTTPS测试我的Adobe Flash应用程序与服务器之间的通信。 如果我要求
https://localhost
一切都很好。但是,如果请求url设置为“ 1”,则URLLoader会由于以下Stream错误而失败:
Error #2032: Stream Error. URL: https://192.168.0.1/path-to-script/
如果我在浏览器中调用该URL,则会收到安全警告,可以覆盖该警告(在Chrome中):
This is probably not the site you are looking for!
[Proceed anyways]   [Back to safety]
当然,这是因为证书的名称(\“ localhost \”)与IP地址不匹配。 现在,是否可以忽略/抑制该警告/错误?例如是否可以使用flash.net.Socket类? 更新 我现在做了更彻底的测试。 我已经在使用crossdomain.xml:
<?xml version=\"1.0\"?>
<cross-domain-policy>
    <site-control permitted-cross-domain-policies=\"master-only\"/>
    <allow-access-from domain=\"*\" secure=\"false\" />
    <allow-http-request-headers-from domain=\"*\" headers=\"*\"  />
</cross-domain-policy>
工作场景: 从host5ѭ托管并加载了Flash  URLLoader请求到“ 6” 无法运作: 仍由
http://www.domain-A.com
托管和加载Flash  URLLoader请求到“ 8” 问题在于,由于“错误的证书名称”错误,Flash甚至没有加载ѭ9。 (由于该证书是针对“ѭ10”而不是针对IP地址颁发的,因此) 具体的错误信息:   ***违反安全沙箱***   由于缺少策略文件权限,请求者从http://www.domain-A.com/flash/demo.swf请求https:// {IP_OF_SERVER} /demo.html上的资源请求被拒绝。 要了解会发生什么情况: 在浏览器中打开https://65.54.186.107/(这是https://login.live.com的IP) 要进入该网站,您必须确认/忽略警告。 Google Chrome浏览器中的“这可能不是您要查找的网站!” Firefox中的“此连接不受信任” IE中的“此网站的安全证书有问题。” ... 我正在寻找一种方法来“忽略” Flash中的此警告。 结论 如果没有办法告诉Flash忽略SSL“错误的证书名称”错误,那么我只能想到挖掘flash.net.Socket类。 还有其他想法吗?     

解决方法

我得出的结论是,它无法解决。证书名称必须与域名匹配,否则通信将失败。 毕竟,这是一种安全措施。 (比较:网站也无法告诉浏览器覆盖安全警告。) 仅当Adobe也将实施此类安全警告(在Flash的未来版本中)并让用户决定是否继续进行操作时,才可以将证书颁发给另一个域名。 如果必须使用IP地址而不是域名,则可以考虑购买颁发给IP地址而不是域名的证书:http://www.ssl247.com/ssl-certificates/type/ip-address     ,其全部关于领域。 https:// localhost和https://192.168.0.1不是同一域。 您必须将跨域策略配置为接受本地主机。 [编辑] 在https服务器上尝试
> <?xml version=\"1.0\"?> <!DOCTYPE
> cross-domain-policy SYSTEM
> \"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd\">
> <cross-domain-policy>
>     <allow-access-from domain=\"www.company.com\"
> secure=\"false\" />  
> </cross-domain-policy>
    ,The_asMan是正确的,如果您要从主SWF或主域中的SWF访问另一个域上的SWF,则需要跨域策略。但是我认为这里的问题是您正在尝试通过路由器或网关IP与服务器建立连接,在这种情况下将无法使用。如果它在Flash中正常运行,而只是一个安全错误,那么您将期望看到一个安全沙箱违规错误,而不是流错误(无法建立连接)。使用您的本地地址进行测试,如果要在其他服务器上进行测试,然后将其上传到Web服务器或其他设备,但是尝试使用网关地址只是没有意义,并且可能无法正常工作。如果您正在本地计算机上运行Xampp之类的服务器并使用本地主机地址进行测试,则说明此操作很准确,并且可以期望您的应用程序能够与Web服务器上部署的功能相同。 这是关于该错误的一些NFO,与我所说的一致: http://www.judahfrangipane.com/blog/2007/02/15/error-2032-stream-error/     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...