为以下角色指定了消息安全性职责:
应用程序开发者可以打开消息安全性,但并不是必须要这样做。消息安全性可以由系统管理员设置,以确保所有 Web 服务的安全;也可以在 Application Server 提供者配置不充分时由应用程序部署者设置。
应用程序开发者或汇编者负责:
应用程序部署者负责:
Developer's Guide 的“Securing Applications”一章对这些安全性任务进行了说明。(有关指向本章的链接,请参见详细信息。)
系统管理员负责:
系统管理员使用管理控制台管理服务器安全性设置,使用 keytool
管理证书。本文档主要针对系统管理员。有关消息安全性任务的概述,请参见配置 Application Server 的消息安全性。
WSS 定义 XML 数字签名的绑定、XML 加密和用户名/密码令牌来确保 SOAP 消息的安全。Application Server 中的 WSS 定义如何使用 WSS 来确保 Web 服务(包括 Application Server 中部署的 Web 服务)调用的安全。
WSS 规范提供了可扩展机制,用于将安全令牌与 SOAP 消息相关联。WSS 规范本身并不定义各种安全令牌的格式。但是已发布了或即将发布一系列安全令牌概要文档。每个概要文档都定义了如何使用一种特定的安全令牌(例如,X.509)来确保使用数字签名或加密的 SOAP 消息的安全。
用户名令牌验证指定了将消息与用户名令牌一起发送的进程。收件人通过验证发件人发送的数字签名来验证发件人的身份。数字签名在内部引用安全令牌(例如,用户名令牌或 X.509 证书令牌),以指示用于签名的密钥。与消息一起发送这些令牌会将这些令牌的标识(和安全令牌中的任何其他声明)绑定到消息中。有关这些安全令牌的更多信息,请参见详细信息。
以(可插入)验证模块的形式将消息层安全性支持集成到 Application Server 及其客户机容器中。默认情况下,Application Server 中的消息层安全性处于禁用状态。要配置消息层安全性,请按照配置 Application Server 的消息安全性中列出的步骤进行操作。
Application Server 使用用户名令牌来传送用户名和密码,并验证 Web 服务调用中的对等物。用户名令牌通常用于数字签名场所。数字签名用于将验证标识绑定到消息内容。用户名令牌用于将验证标识绑定到消息发送者。
使用用户名令牌时,必须在 Application Server 中配置有效的用户数据库。有关该主题的更多信息,请参阅编辑区域。
Application Server 使用 XML 数字签名来验证消息内容的来源。数字签名是一种验证机制。客户机使用数字签名来建立它们的呼叫者标识,其方法与使用传输层安全性时用基本验证或 SSL 客户机证书验证建立呼叫者标识的方法相似。收件人可以使用数字签名来验证消息在签名后未被更改,以此确认内容是由签名者定义的(尽管这些内容可能不是由签名者发送的)。
使用数字签名时,必须在 Application Server 中配置有效的密钥库和信任存储文件。有关该主题的更多信息,请参阅关于证书文件。
加密的目的是将数据修改为只有目标读者能理解。加密过程通过用加密元素代替原始内容来完成。像公共密钥加密指出的那样,可以使用加密来建立能够阅读消息的一方或多方的标识。
使用加密时,必须先安装支持加密的 JCE 提供者。有关该主题的更多信息,请参阅配置 JCE 提供者。
Application Server 遵从 WSS Soap 消息安全性规范,该规范可以通过 URL http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf 来查看。此规范用于 Application Server 中 Web 服务安全性的基本实现。
本文档中使用的一些术语在 WSS 规范中有说明,此处对其进行了总结。配置 Application Server 的消息安全性中也说明了这些概念。
验证层是必须执行验证处理的消息层。
在此版本的 Sun Java Systems Application Server 中,Application Server 调用验证提供者来处理 SOAP 消息层安全性。
默认服务器提供者用于标识服务器提供者,系统将调用该服务器提供者以用于尚未绑定特定服务器提供者的任何应用程序。
默认客户机提供者用于标识客户机提供者,系统将调用该客户机提供者以用于尚未绑定特定客户机提供者的任何应用程序。
请求策略定义与验证提供者执行的请求处理关联的验证策略要求。策略以消息发件人的顺序表示,从而使得在内容之后进行加密的要求表示消息收件人将在验证签名之前对消息进行解密。
有关请求策略的更多信息,请参阅请求策略配置和响应策略配置的操作。
响应策略定义与验证提供者执行的响应处理关联的验证策略要求。策略以消息发件人的顺序表示,从而使得在内容之后进行加密的要求表示消息收件人将在验证签名之前对消息进行解密。
要获得消息安全性,必须在服务器和客户机中均启用请求策略和响应策略。根据要使用的验证策略的类型来配置这些策略。在客户机和服务器上配置策略时,请确保在应用程序级别消息绑定的请求/响应保护方面,客户机策略与服务器策略相匹配。
开发者通过在 Sun 特定的应用程序部署描述符中定义消息安全性绑定,可以定义特定于应用程序的保护策略(与覆盖默认策略相对)。有关该主题的更多信息,请参阅 Developer#8217;s Guide 的 Securing Applications 一章。详细信息中有指向该章的链接。
有关响应策略的更多信息,请参阅请求策略配置和响应策略配置的操作。
如果针对请求和/或响应策略设置了响应标志,则验证提供者可以执行多次签名/加密操作。映射的规则如表 0-2 所示。
另请参见: