2009-11-05 105 views
24

我WFC服务使用的wsHttpBinding配置有:如果我使用https,设置establishSecurityContext =“False”会产生什么影响?

<security mode="TransportWithMessageCredential"> 
    <message establishSecurityContext="True" clientCredentialType="UserName"/> 
    <transport clientCredentialType="None" proxyCredentialType="None"/> 
</security> 

我们的一个合作伙伴正在试图使用java地铁库调用我们的服务。他们有this问题。我必须设置establishSecurityContext =“False”才能工作。我们做了一个快速测试,当它被设置为false时它确实起作用。

不使用安全会话会产生什么影响(通过设置establishSecurityContext =“False”)。我已经在https上运行了。那么在安全方面我会好吗?还有其他影响需要考虑(性能可能)?

感谢

回答

41

的区别在于,在一个非SCT(安全上下文令牌)启用端点,密钥交换和验证必须每次呼叫完成,而不是被做一次和缓存的会话,只有相反,SCT传递了消息。 SCT基于对称密钥,这使得它们更有效地签署/加密消息。当客户需要连续拨打多个电话时,使用SCT是非常好的,因为它减少了每次都要交换和验证一次性密钥的需要。

我建议的是,您只是为不支持SCT的客户端公开另一个端点并告诉他们使用该端点。可以使用SCT的客户端指向默认端点,并保留随之而来的所有好处。

欲了解更多关于这个问题,请查看section three of the WS-SecureConversation documentation

+0

有关使用单独端点的优秀建议 - 允许每个客户端类型为他们使用“最佳”端点! – 2009-11-06 06:48:46

+0

嗨德鲁,谢谢你的回答。 – Sylvain 2009-11-09 13:37:51

+1

德鲁,我的客户在每个服务电话上打开和关闭他们的频道。即使我启用了安全会话,他们没有从中获益。那是对的吗? – Sylvain 2009-11-09 13:43:32

相关问题