WCF路由邮件安全性

时间:2008-09-23 14:31:07

标签: wcf security certificate wcf-routing

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

  

NetTcpBinding的

     

安全模式=“消息”

     

消息clientCredentialType =“UserName”

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

当我关闭邮件安全性时它继续正常但是当它打开时我得到以下异常:

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

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

问题:

  1. 我的目标是什么?

  2. 有没有办法继续使用邮件安全性进行路由而不需要令牌服务的复杂性?

1 个答案:

答案 0 :(得分:1)

您提到在无安全性和邮件安全性之间切换。您确定要更改WCF服务端点以及接收端的端点吗?如果没有,并且两者不匹配,您将收到错误。这就是错误似乎对我说的。

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