Web服务中SOA消息安全传递探究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Web服务中SOA消息安全传递探究

Web服务中SOA消息安全传递探究【摘要】本文利用Apache Axis完成Web服务的SOAP Engine功能,并结合第三方安全包,签名和加密SOAP消息体内封装的XML文档,实现了SOAP消息的机密性和完整性。 【关键词】SOAP;XML签名;XML加密 SOAP以XML形式存在并被封装在HTTP等TCP/IP应用层协议中,是Web Service组件间的标准通信协议。WSS4J是一个签名和验证SOAP消息的Java库,符合W3C有关XML签名和XML加密的规范。WSS4J利用Apache Axis作为SOAP Engine,以Apache XML-Security为XML安全引擎。本文利用Apache Axis和WSS4J提供的Web安全服务框架,对Web服务中SOAP消息的安全传递作了研究。 1.在Axis Web服务中使用WSS4J Axis采用管道过滤器模式处理请求流和响应流,Axis中的过滤器就是handler,根据具体的处理任务按调用的顺序它们被组织在请求/响应流中。通过handler可在处理链(handler chain)中卸载与嵌入第三方功能模块来实现系统功能的扩展和模块化。WSDoAllSender和WSDoAllReceiver是用于WSS4J的Axis handler,它们都是org.apache.axis.handlers.BasicHandler的扩展类,前者用于XML消息的加密、签名,后者用于XML消息的解密、验证,可以使用这些安全handler截获进出客户/服务器的SOAP消息并进行安全处理,如图1所示。 我们可采用Axis handler的标准配置方式,通过Axis的Web服务部署描述符文件(WSDD)中包含必要的信息来控制安全过程,完成安全SOAP消息的创建和使用。Axis Web服务在客户端为用户构造Web services请求,接收应答并返回给用户;在服务器端接收请求,用收到的SOAP消息中的数据调用相应的服务并返回应答。客户端应用程序通过调用Axis提供的API来调用目标服务。Axis在收到请求后将调用WSDoAllSender handler进行安全处理,最后经特定于传输的handler将消息发送出去。其中,Axis解析部署描述符文件并将相关参数和相应的值提供给WSS4J handler,安全handler解释参数值并调用WSS4J模块来处理SOAP消息,而WSS4J则使用Apache XML-Security项目提供的XML签名和XML加密机制来完成XML消息签名加密。 2.基于UsernameToken令牌的用户认证 为了实现用户身份认证,需将令牌Username Token插入到SOAP请求中,它包含一个明文形式的用户名和相应的口令。作为敏感信息的口令一般不以明文形式存储。为了得到相应的口令,WSS4J handler使用了类似JAAS机制(Java验证和授权服务)的password callback技术,如图2所示。 部署描述符文件中的passwordCallback Class参数包含callback类的类名,这个类必须实现CallbackHandler接口。WSS4J handler得到这个类,实例化,当需要口令时则调用该类的handle方法来获得。 客户端的部署描述符文件client-side.wsdd: 服务器端的部署描述符文件server-side.wsdd: 客户和服务器都需要一个Callback类的Callback Handler用以确认用户验证的有效性,当用户名/口令无效时则抛出异常。 3.签名加密XML消息 可通过配置客户和服务器端的WSDD文件(如下所示)实现XML消息签名加密,参数encryptionParts取值为Element时是对元素加密,为Content时是对元素内容加密,该参数缺省时表明对整个XML消息体加密。同时还需要创建keystore文件,签名和加密时可使用同一个keystore属性文件。参数signaturePropFile和decryptionPropFile指明所用的keystore文件名,分别用于客户/服务器进行签名、加密和解密。我们通过签名和加密第2节的用于身份认证的XML元素UsernameToken,完成SOAP消息签名加密的功能,并可利用SOAPMonitor工具捕获签名加密后的SOAP消息。   客户端的部署描述符文件client-side.wsdd: 服务器端的部署描述符文件server-side.wsdd:

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档