Java Web 服务: Axis2 WS-Security 签名和加密
2009-11-05 00:00:00 来源:WEB开发网清单 2 中的回调旨在支持使用同一个公开-私有密匙对进行签名和解密,因此将在两种情况下进行检查并对任意一种情况返回相同的密码。
清单 1 中的 WS-Policy 用于客户机,与此相对应的是用于服务器的 WS-Policy(示例代码中的 sign-policy-server.xml),两者只在 Rampart 配置的细节方面略有不同。同样,清单 2 密码回调类的服务器版本只在标识符值和返回的密码方面有所差异。
运行示例应用程序
build.properties 文件引用了将由示例应用程序使用的 client.policy 和 server.policy 文件。在文件的补充版中分别被设置为 sign-policy-client.xml 和 sign-policy-server.xml,因此您应当只需要构建应用程序。通过将控制台打开到 jws05code 目录并输入 ant,您可以使用 Ant 完成任务。如果所有内容均配置正确,那么应当在 jws05code 目录中得到一个 library-signencr.aar Axis2 服务归档文件。通过使用 Axis2 Administration 页面上传 .aar 文件,将该服务部署到您的 Axis2 服务器安装中,然后通过在控制台输入 ant run 来试用客户机。如果所有内容都正确设置,那么应当看到如图 1 所示的输出:
图 1. 运行应用程序的控制台输出
要查看消息中的实际 WS-Security 信息,需要使用 TCPMon 之类的工具。首先设置 TCPMon 并在一个端口上接受来自客户机的连接,该连接随后转发给运行在另一个端口上的服务器(或另一个主机)。随后可以编辑 build.properties 文件并将 host-port 值修改为 TCPMon 的侦听端口。如果在控制台中再一次输入 ant run,应当会看到被交换的消息。清单 3 展示了一个样例客户机消息捕捉:
更多精彩
赞助商链接