快速业务通道

Java Web服务: WS-SecureConversation性能 - 编程入门网

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

清单 4 中的第一个添加项是一对 rahas 和 addressing 的模块引用。rahas 模块是对基本 Rampart 支持的配置添加项,用于激活服务的 STS。addressing 模块激活 WS-Addressing 支持,如 清单 3 客户端代码所示。

清单 4 中第二 个添加项是 <parameter name="sct-issuer-config"> 元素和内容。这将配置 STS 以特殊方式发 布 SCT。内容中的注释是直接从 Rampart 例中拿过来的;这似乎是这项配置的惟一文档。不幸的是,注 释并不准确:在 Axis2 1.5.1/Rampart 1.5 实际测试中,改变 <keyComputation> 值不会影响 STS 操作,它始终会生成一个键并直接返回给客户端。这不符合所采用的策略,它需要客户端和服务器熵 合起来生成共享密钥。

CXF 配置

配置 CXF 的 WS-SecureConversation 比 Axis2 方法更 简单。在客户端,所要做的就是向客户端使用的 cxf.xml 文件添加安全运行时参数。同样方法可用于常 规 WS-Security 的参数,只要用不同的参数名(都以后缀 .sct 结尾)。清单 5 显示的是本文测试中使 用的 cxf.xml,SCT 参数粗体显示:

清单 5. CXF 客户端 cxf.xml

<beans  xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:jaxws="http://cxf.apache.org/jaxws"    xsi:schemaLocation="http://www.springframework.org/schema/beans    http://www.springframework.org/schema/beans/spring-beans-2.0.xsd     http://cxf.apache.org/jaxws   http://cxf.apache.org/schemas/jaxws.xsd">  <jaxws:client name="{http://ws.sosnoski.com/seismic/wsdl}seismic"  createdFromAPI="true">   <jaxws:properties>    <entry key="ws- security.signature.properties.sct"      value="client-crypto.properties"/>    <entry key="ws-security.signature.username.sct" value="clientkey"/>     <entry key="ws-security.encryption.properties.sct"      value="client- crypto.properties"/>    <entry key="ws-security.encryption.username.sct"  value="serverkey"/>    <entry key="ws-security.callback-handler.sct"       value="com.sosnoski.ws.seismic.cxf.ClientCallback"/>    </jaxws:properties>  </jaxws:client> </beans>

CXF 中服务器端的配置也很简单,但需要改变定义 CXF 上下文配置的 web.xml 文件和给出单个服务定义的 cxf-servlet.xml 文件。web.xml 文件,如清单 6 所示,添加了一 行引用 cxf-extension-addr.xml 配置。加入的引用中包含 CXF 配置的 WS-Addressing 支持,这是客户 端和 STS 之间交换消息所需的(还用于客户端和实际服务的消息交换,使用的是 清单 1 策略)。

清单 6. CXF 服务器 web.xml

<web-app version="2.4"  xmlns="http://java.sun.com/xml/ns/j2ee">  <display- name>CXFLibrary</display-name>  <description>CXF Seismic  Service</description>  <listener>   <listener- class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>  <context-param>   <param- name>contextConfigLocation</param-name>   <param-va

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号