保护WebLogic Server上WebServices
本文首先概述了消息完整性、消息机密性和身份验证,简短讨论了怎样通过策略注释加以实现。接着实例指导如何构建一个基本服务,添加消息完整性、机密性和授权……
WebLogic Server 9.2的安全性配置概述
WebLogic Server 9.2完全支持WS-Security标准。也就是说对Web Services提供者和客户端的代码编写方式略加更改,即可实现消息的完整性、机密性和身份验证。
WebLogic Server API使得启用安全性十分容易,实现所有这三个安全性方面的基本步骤是:
- 编写和测试没有安全措施的服务。
- 为了完整性和机密性,为客户端和服务器设立一个keystore。
- 通过注释服务的源代码给服务增加安全性。
- 构建和部署受保护的服务。
Keystore实质上就是一个惟一、安全地标识服务器的证书集合。使用随JDK提供的keystore命令行工具能够创建keystore。使用WebLogic Server管理控制台可以将keystore导入WebLogic Server。
这三方面可以任意组合使用(例如,可以仅启用完整性、机密性和身份验证三者之一,也可以三者都启用)。本文将示范如何实现各方面。
策略和安全性概述
WebLogic Server 9.2使用策略文件维护Web Services的安全性。策略文件是一个XML文件,说明WebLogic Server怎样尝试启用安全性的各个方面。Web Services由策略文件包装,这些策略文件在部署过程中嵌入所生成的服务的WSDL文件之中。当客户端试图调用服务时,它应该首先获得该服务的含有策略信息的WSDL文件。
BEA的策略文件
WebLogic Server安全性使用三个策略文件。
- Sign.xml——启用消息完整性所必需的。它包含配置信息,规定怎样在客户端和服务器之间进行消息签名。
- Encrypt.xml——启用消息机密性所必需的。它包含配置信息,规定怎样在客户端和服务器之间进行消息加密。
- Auth.xml——启用身份验证所必需的。它包含配置信息,规定怎样对客户端和/或服务器进行身份验证。
在部署过程中,这些策略文件必须再一次由Web Services包装。当然,只有所需的安全性方面的策略文件将被要求(例如,如果只要求消息的机密性,那么只需要包装Encrypt.xml,其余两个被忽略)。
创建WS-Policy文件
然后,我们关心的一个问题是如何创建这些策略文件。BEA提供了这些策略文件的文档和模式,可以用任何文本编辑器手工编写它们。不过,一个好消息是 这些策略文件能够自动生成 。适当地注释源代码并运行jwsc Ant任务即可生成所需的sign.xml/encrypt.xml/auth.xml文件。随后,这些自动生成的文件将由可部署的Web Services自动包装。
通常,这些自动生成的策略文件足以满足要求。它们的内容将反映在初始源中的注释;那么,Web Services安全性的开发人员只需要考虑确保正确地注释源代码。开发人员不必关心策略文件的创建。
上面说过,有的时候,自动生成的策略文件可能是不可用的。可能需要对安全性框架进行一些额外的定制。比如说要求选择性地只加密消息的一部分而不是全部,缺省情况下,自动生成的策略会加密整个消息。此时,开发人员可以自由地手工创建策略文件,然后注释源代码来使用手工创建的策略文件。这会阻止自动文件生成。然而,一般不需要这样,因为自动生成的策略完全够用(并且只要极少的工作量)。
- 本文关键词:

