java - 不同级别的 Web 服务安全

标签 java web-services webservice-client

我刚刚开始使用 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/

相关文章:

web-services - 如何在 Visual Studio 2012 中创建 Web 服务(服务器和客户端)?

c# - 从 Soap WebService 获取实际响应

线程 "AWT-EventQueue-0"java.util.ConcurrentModificationException 中的 Java、ArrayList 和异常

java - Tomcat 上下文中的 MySQL JDBC 连接 URL 参数

jquery - 通过 jQuery 调用 WSDL 服务

javax.xml.ws.soap.SOAPFaultException : Unmarshalling Error

iphone - NSMutableArray 已填充但数据以某种方式丢失

java - 如何使用Docx4j读取和编辑现有的pptx?

java - 基于用户输入的结果

android - 如何将值传递给 Android 应用程序中的 Soap 服务(ASMX 服务)中的标志枚举参数