WCF 与 basicHttpBinding、加密、签名和 usernameToken over HTTP

Posted

技术标签:

【中文标题】WCF 与 basicHttpBinding、加密、签名和 usernameToken over HTTP【英文标题】:WCF with basicHttpBinding, encryption, signing and usernameToken over HTTP 【发布时间】:2011-05-16 16:45:08 【问题描述】:

我正在尝试配置 WCF 客户端以生成正确的请求。 在该请求中,我需要带有 usernameToken 的安全标头。 另外,我需要加密和签署请求。 所有这些都是通过纯 HTTP 进行通信的。

到目前为止,我已经设法让客户端签名和加密消息。 现在我需要以某种方式将 usernameToken 合并到这个安全标头中。

我该怎么做?

我使用的是 basicHttpBinding,安全模式设置为“Message”,clientCredentialType = “Certificate”作为消息。

我偶然发现了 clearUsernameToken 绑定库,但我认为无法将所有这些(用户名令牌、签名和加密)合并到一个客户端中,并且所有这些都通过 HTTP。

这可能吗?

【问题讨论】:

【参考方案1】:

我已经设法使用 WSE 3.0 做到了这一点。

现在在我的 SOAP 请求中,我有 UsernameToken、BinarySecurityToken、数字签名和加密。当然,我必须做一些自定义的 WSE 过滤器,但这并不难。

对我来说奇怪的是,这在 WSE 等旧框架中更容易实现,然后使用 WCF。

【讨论】:

以上是关于WCF 与 basicHttpBinding、加密、签名和 usernameToken over HTTP的主要内容,如果未能解决你的问题,请参考以下文章

WCF系列 - WCF安全系列 - basicHttpBinding

WCF--找不到具有绑定 BasicHttpBinding 的终结点的与方案 https 匹配的基址。注册的基址方案是 [http]。

WCF 4 Web 服务中的 UsernameToken 和 SSL - 但使用 basicHttpBinding

使用 BasicHttpBinding 进行身份验证的 WCF 服务

WCF 服务的 basicHttpBinding 上的 HTTPS

WCF系列BasicHttpBinding 和 WsHttpBinding 的不同点