background image

 
<xenc:CipherValue>mirmi0KuFEEI56eu2U3cICz...</xenc:CipherValue>

   </xenc:CipherData>
  </xenc:EncryptedData>
</soap:Body>
</soap:Envelope>

 

  WS-Security 

 

应用于实际的 SOAP 

 

消息交换。服务实现可以检验 WS-Security 是否

恰当应用于传入的消息,但是客户机需要提前知道它们必须实现什么才能使用服务。由于 
WS-Security 的复杂性以及所支持的选项有限,因此仅使用文本描述很难实现这个目的,

 

而手动配置 WS-Security 处理极容易出现错误。WS-Policy 

 

是一个用于为 Web 服务指定扩

 

展需求的通用结构,而 WS-SecurityPolicy 

 

是一个专门针对 WS-Security 

 

支持的 WS-Policy 

 

扩展。这两者合起来可以以机器可读的方式描述 WS-Security 需求。WS-Policy   

和 WS-

SecurityPolicy 

 

信息可以单独使用,也可以直接嵌入到 Web Services Description Language 

(WSDL) 

 

文档内部,这样 Web 服务框架就可以将它们自动配置为服务的需求。

Rampart 简介

    Rampart  

 

是 Axis2  

 

的 安 全 模 块 , 支 持 WS-Security 、 WS-SecurityPolicy 、 WS-

SecureConversation 

 

和 WS-Trust

 

。在本文中,您将只查看 Rampart   

的 WS-Security   

和 WS-

SecurityPolicy 功能;后续文章将讨论其他特性。

 

    由 于 Rampart   是 以 模 块 形 式 实 现 (

  —  

实 际 上 是 一 对 模 块

rampart.mar   和

 

rahas.mar)

 

,它将插入到 Axis2 处理框架中并在出站和入站处理的特定点拦截消息,检查

对消息的修改或根据需要对消息作出修改,从而完成工作。

 

  安装 Rampart

  Rampart 

 

附带了一些 .jar 文件(

 

在发行版的 lib 目录中)

 

,以及一对 .mar 模块文件

(

 

位于 dist 目录中)

 

。您必须将 .jar 

 

文件添加到类路径中才能对 Axis2 

 

使用 Rampart,并且必

 

须将 .mar 

 

文件添加到类路径或 Axis2 库结构中。

 

  处理 Rampart .jar   

和 .mar 

 

文件的最简单方法是将它们添加到 Axis2 安装中。可以

 

从 Rampart lib 

 

目录中直接将 .jar 

 

文件复制到 Axis2 lib 

 

目录,从 Rampart dist 目录中直接

 

将 .mar 

 

文件复制到 Axis2 库/模块目录中。(

 

还可以使用 Ant build.xml   

在 Rampart 样例目录

 

中将文件复制给 Axis2 

 

安装。只需要将 AXIS2_HOME 

 

环境变量设置为 Axis2 安装目录并

 

从打开 Rampart 

 

样例目录的控制台运行 ant)。

 

  对于众多 WS-Security 

 

特性,您还需要向 JVM 

 

安全配置添加 Bouncy Castle 安全

 

提供程序,向 Axis2 

 

安装添加 Bouncy Castle .jar。本系列后续文章中涉及的其他安全特性

(

 

不包括本文将介绍的 UsernameToken)需要使用这一步骤。由于某些安全算法涉及专利问

题,Bouncy Castle .jar 

 

可以从 Rampart 独立下载(  

见 参考资料)

 

。为您的 Java 运行时下载合