【问题标题】:Call a WCF webservice with wsHttpbinding and x509 certificate with javascript or Jquery使用 wsHttpbinding 调用 WCF Web 服务,使用 javascript 或 Jquery 调用 x509 证书
【发布时间】:2012-05-07 09:06:29
【问题描述】:

我正在编写一个 Web 应用程序,我需要使用现有的 Web 服务。 此 Web 服务使用 wsHttpBinding 和 x509 证书。

我浏览了整个网络,但没有找到可行的解决方案。

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: javascript jquery web-services x509 wshttpbinding


    【解决方案1】:

    客户端证书的选择将由浏览器在建立连接时做出。 JavaScript 和 jQuery 在这方面没有太多发言权。

    您可以配置 Firefox(例如)询问您选择哪个证书或自动选择一个(首选项 -> 高级 -> 加密 -> 证书)。如果您选择“总是询问”,这可能会从浏览器触发一个弹出窗口,但无法通过 JavaScript 访问。

    您要使用的客户端证书(及其私钥)首先需要可供浏览器使用。

    【讨论】:

    • 您所描述的内容听起来像是基于浏览器的相互身份验证 TLS,但 AFAIK 与 wsHttpBinding 中可用的 WS-* 标准不同,后者加密部分 XML 有效负载,允许不受信任的中介等。我会认为 Javascript+HTML5 LocalStorage 可能能够破解一个与WS-* with message security 兼容的 XML 文档。
    • @makerofthings7,确实,但是 WS-* 消息级安全性的问题是让浏览器中的 js 能够使用客户端证书的私钥。它们通常不可访问。
    • 我刚刚得出了同样的结论。您是否认为客户端证书(相互验证 TLS)+ 带有 JSON 的 Javascript 比任何 hacky SOAP 解决方案更好?
    • @makerofthings7,通常是的:如果您受限于使用浏览器,那么您几乎没有选择。不幸的是,任何使其使用 SOAP 的基于 JavaScript 的 hacky 解决方案肯定会遇到与any browser-based JS crypto 相同的问题。消息级 WS-Security 不适用于浏览器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    相关资源
    最近更新 更多