我刚刚开始使用 SOAP Web 服务,并偶然发现了 Web 服务安全性。
根据以下用例,我需要了解两件事:-
假设有一个 Web 服务接受国家/地区名称作为请求并返回州列表作为响应。
基于我上面的简单用例,什么是传输级安全性和消息级安全性。它们有何不同?
最佳答案
what is transport level security and message level security based on my above simple use case. How they are different?
如何保护您的传输 channel 和数据有多种选择。这完全取决于需要什么安全措施。
SOAP/WSDL 具有扩展名 WS-Security它定义了如何保护通信的多个标准选项。请注意,并非所有框架都支持所有选项,我真的建议您使用一些成熟的 Web 服务框架(CXF、Axis2 等)来实现 Web 服务安全性。您不想自己做。
传输级安全性
基本是 TLS/SSL(简单或带有客户端证书)。该安全层绑定(bind)到 HTTP 传输层,并且通常被认为是理所当然的,因此不在 WSDL 本身中进行配置。
does this mean if transport security is implemented then to open wsdl file in browser i have to give username password
我假设您正在谈论 HTTP 基本身份验证。它是选项之一(恕我直言,这是一个糟糕的选项,并且它与 HTTP 传输层紧密相连)
您也可以使用 UsernameToken 选项。它看起来与基本身份验证类似 - SOAP header 中有用户名和密码(或摘要),作为一个优点,我认为此扩展可以作为 WSDL 或安全策略定义的一部分来定义和强制执行。
消息级安全性
在此级别下,我们考虑对消息进行签名和/或加密。
关于java - 不同级别的 Web 服务安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48560846/