设置 setupSecurityContext="False" 有何影响?如果我使用https?
我的 WFC 服务使用 wsHttpBinding 配置为:
<security mode="TransportWithMessageCredential">
<message establishSecurityContext="True" clientCredentialType="UserName"/>
<transport clientCredentialType="None" proxyCredentialType="None"/>
</security>
我们的合作伙伴之一正在尝试使用 java Metro 库调用我们的服务。他们有这个 问题。我必须设置 setSecurityContext="False" 才能正常工作。我们做了一个快速测试,当我将其设置为 false 时,它确实有效。
不使用安全会话(通过设置 setSecurityContext="False")会产生什么影响。我已经在 https 上运行了。那么我在安全方面会好吗?是否还有其他影响需要考虑(可能是性能)?
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
区别在于,在启用非 SCT(安全上下文令牌)的端点上,密钥交换和验证必须在每次调用时完成,而不是一次完成并为会话缓存,并且仅在消息中传递 SCT。 SCT 基于对称密钥,这使得它们可以更有效地签名/加密消息。当客户端需要连续进行多次调用时,使用 SCT 非常有用,因为它减少了每次都进行一次性密钥交换和验证的需要。
我建议您为不支持 SCT 的客户端公开另一个端点并告诉他们使用该端点。可以使用您指向默认端点的 SCT 的客户端并保留其带来的所有好处。
有关该主题的更多信息,请查看 WS-SecureConversation 文档的第三部分。
The difference is that the on an non-SCT (security context token) enabled endpoint, key exchange and validation must be done per call as opposed to being done once and cached for the session and only a SCT passed around in the messages instead. SCTs are based on a symmetric key which makes them much more efficient for signing/encrypting the message. The use of a SCT is very good when the client is expected to make many calls in succession because it alleviates the need to do the exchange and validation of a one off key every time.
What I would recommend is that you just expose another endpoint for clients that don't support SCTs and tell them to use that. Clients that can use SCTs you keep pointed at the default endpoint and keep all the benefits that come with it.
For more on the subject, check out section three of the WS-SecureConversation documentation.