【问题标题】:WCF Routing Message SecurityWCF 路由消息安全
【发布时间】:2010-09-12 09:21:53
【问题描述】:

我正在服务之间构建一些路由功能。原始服务和做路由的服务具有相同的配置;两者都使用带有以下绑定配置的 netTcpBinding:

netTcpBinding

安全模式="消息"

消息clientCredentialType="用户名"

服务行为使用我们在机器上安装的 AspNet Membership Provider 和客户端证书。

当我关闭消息安全时,它会很好地中继,但是当它打开时,我得到以下异常:

“无法处理消息。这很可能是因为操作 'http://foo/Whatever' 不正确,或者因为 消息包含无效或过期的安全上下文令牌,或者因为绑定之间不匹配*。如果服务因不活动而中止通道,则安全上下文令牌将无效。为防止服务过早中止空闲会话,请增加服务端点绑定的接收超时。 (强调我的)

我的想法是证书在消息上运行了两次(一次在原始调用上,然后在中继上),这就是破坏消息安全令牌的原因。

问题:

  1. 我的想法是否正确?

  2. 有没有办法继续使用消息安全性进行路由,而无需令牌服务的复杂性?

【问题讨论】:

  • 两个问题 - 1. 您需要路由器服务的安全性吗?从某种意义上说,消息安全的想法是它允许路由等处理消息而不必解密它。 2.是你在路由器服务上遇到的错误吗?两种服务是否共享相同的服务证书?

标签: wcf security certificate wcf-routing


【解决方案1】:

您提到在无安全性和消息安全性之间切换。您是否确保同时更改 WCF 服务端点以及接收端的端点?如果不是,并且两者不匹配,您将收到错误消息。这就是那个错误似乎对我说的。

对于问题 2,您在什么类型的环境中运行?您可以使用加密和签名的封闭系统,还是可能需要使用特殊密钥的公共环境?

【讨论】:

    猜你喜欢
    • 2012-03-01
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 2023-03-25
    相关资源
    最近更新 更多