设置如下:

  • 火狐(两3.x和4b)与适当的设置和工作证书,其中包括一个客户证书。
  • 网页有一个程序()类型的阿贾克斯呼叫 不同的子.
  • 定义网服务器中所述域接受请求,reponding与宽容的 Access-Control-Allow-Origin 和头部 要求验证客户.

问题是那Firefox中止的请求(这就是它说,在萤火虫无论如何)突然。在运行的设置 openssl s_server 而不是暗示那Firefox实际上甚至不给客户证书:

140727260153512:error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer
did not return a certificate:s3_srvr.c:2965:ACCEPT

同样确切的安装工程完全用的铬,这表明也许是一个错误在Firefox。 然而,执行阿贾克斯呼叫一个 <script> 元注入DOM似乎工作,因为打算...

因此,有其他人碰到这个吗?它是一个错误?任何解决方法?是不是有什么明显的失踪?

有帮助吗?

解决方案

报在5年后可能不太大的帮助,以运,但在情况下,其他人已经这个问题在未来...

Firefox出现 送客户证书有一个跨源请求把默认。设置 withCredentials=true 在把实例解决这一问题对我来说。注意,我也没有看到这个问题与铬-只有Firefox。

欲了解更多信息,请参阅 这Mozilla开发网络博客.特别是,以下发言:

默认情况下,在交网站程序调用,将浏览器 不能发送全权证书。一个具体标志设置的程序的对象时它被援引。

其他提示

因注射吸脚本工作而不是一个简单的把请求是因为 单一来源政策.这可能会解释为什么铬允许把但不FF;铬认为域的部分相同的原产地,但FF不。

注脚本来自其他领域(这是什么歌的分析不会)是允许的,一的做法来处理这种情况。

我的团队负责处理这种情况是通过使的请求,通过一个服务器方的代理。

我建议使用的服务器方代理如果你可以,但是,该脚注的方法作精细长的代码来自可靠来源。

我还发现 这篇文章 这描述了你的情况。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top