26

我的 WFC 服务使用 wsHttpBinding 配置:

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

我们的一位合作伙伴正在尝试使用 java Metro 库来调用我们的服务。他们有这个问题。我必须设置 setupSecurityContext="False" 才能正常工作。我们做了一个快速测试,当我将它设置为 false 时它确实有效。

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

谢谢

4

1 回答 1

45

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

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

有关该主题的更多信息,请查看WS-SecureConversation 文档的第三部分

于 2009-11-06T02:12:34.490 回答