快速业务通道

Java Web服务 - Axis2 WS-Security签名和加密 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
中。

秘密密匙和对称加密

尽管使用非对称加密的公开密匙加密构成了许多有用 WS-Security 特性的基础,但是老式的秘密密匙加密仍然发挥着重要的作用。要实现相同程度的保护,非对称加密算法往往要比基于秘密密匙(同一个密匙同时用于加密和解密,意味着这个密匙必须始终保密)的对称算法涉及更多的计算量。由于这个原因,经常将这两种技术结合使用:高开销的非对称加密用于保障秘密密匙交换的安全性,秘密密匙然后又可用于低开销的对称加密。本文后面介绍 WS-Security 消息加密时,您将看到一个这样的示例。

设置

本文使用了与 “Axis2 WS-Security 基础” 相同的示例应用程序,该应用程序展现了如何使用 Axis2 和 Rampart 实现 WS-Security UsernameToken。但是,需要作出一些修改来支持使用 WS-Security 公开密匙加密特性,因此本文附带了一个单独的代码包(见 下载 )。

示例代码的根目录为 jws05code。该目录包含了以下内容:

一个 Ant build.xml 文件

一个 Ant build.properties 文件,它配置了示例应用程序的操作

library.wsdl 文件为示例应用程序提供了服务定义

log4j.properties 文件用于配置客户端登录

一些属性定义 XML 文件(所有名为 XXX-policy-client.xml 或 XXX-policy-server.xml 的文件)

在开始使用示例代码前,需要完成以下操作:

编辑 build.properties 文件,设置 Axis2 安装的路径。

确保 Axis2 安装已经通过 Rampart 代码进行了更新,如 “Axis2 WS-Security 基础” 的 安装 Rampart 一节所述。(一种好方法就是查看 repository/modules 目录中的 rampart-x.y.mar 模块文件)。

将 org.bouncycastle.jce.provider.BouncyCastleProvider Bouncy Castle 安全提供者(用于示例代码中使用的公开密匙加密特性)添加到 JVM 安全配置中(lib/security/java.security 文件)。

将 Bouncy Castle JAR(名为 bcprov-jdkxx-vvv.jar,其中 xx 表示 Java 版本,vvv 表示 Bouncy Castle 代码版本)同时 添加到 Axis2 安装的 lib 目录和 Axis2 服务器应用程序的 WEB-INF/lib 目录。

Java Web服务 - Axis2 WS-Security签名和加密(3)

时间:2011-02-02 IBM Dennis Sosnoski

现在,您已经准备好构建示例应用程序并尝试下一节将介绍的安全示例。

对消息进行签名

签名要比 “Axis2 WS-Security 基础” 中的 UsernameToken 示例用到更多规范。您需要:

识别用于在每个方向上创建签名的私有/公开密匙对,提供用于访问 keystore 和私有密匙的密码。

指定用于 XML 标准化、摘要生成和实际签名的算法集。

指定将消息的哪些部分包含到签名中。

这些信息中的一部分被作为配置数据处理,被嵌入到服务的 WS-SecurityPolicy 文档中。其他部分被包含到运行时消息交换中。

清单 1 展示了一个 WS-Policy 文档,用于将 Axis2 客户机配置为对消息使用签名。(清单 1 进行了编辑,以符合页面的宽度。在示例代码中可以查看 sign-policy-client.xml 的完整文本)。

清单 1. 用于签名(客户机)的 WS-Policy/WS-SecurityPolicy

<!-- Client policy for signing all messages, with certificates included in each    message --> <wsp:Policy wsu:Id="SignOnly"    xmlns:wsu="http://.../oasis-200401-wss-wssecurity-utility-1.0.xsd"    xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">   <wsp:ExactlyOne>    <wsp:All>     <sp:AsymmetricBinding       xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">      <wsp:Policy>       &l

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号