如果我使用https,设置establishSecurityContext =“False”有什么影响?

时间:2009-11-05 21:23:27

标签: wcf security java-metro-framework

我的WFC服务使用配置为:

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

我们的合作伙伴之一正在尝试使用java Metro库来调用我们的服务。他们有this个问题。我必须设置establishSecurityContext =“False”才能生效。我们进行了快速测试,当我将其设置为false时,它确实有效。

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

由于

1 个答案:

答案 0 :(得分:42)

不同之处在于,非SCT(安全上下文令牌)启用的端点,密钥交换和验证必须在每次调用时完成,而不是一次完成并为会话缓存,并且只在消息中传递SCT代替。 SCT基于对称密钥,这使得它们对签名/加密消息更加有效。当客户期望连续拨打多个电话时,SCT的使用非常好,因为它减少了每次交换和验证一次性密钥的需要。

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

有关此主题的更多信息,请查看section three of the WS-SecureConversation documentation