利用WSE 加密SOAP报文(1)

原创 2004年03月22日 15:50:00

摘要:

如何使用支持WS安全规范的WSE(Microsoft Web Services Enhancements)使加密SOAP能够跨越标准HTTP呢?讲述了SOAP报文加密是如何进行,在WS安全和XML加密规范中又是如何定义的。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

目录:

l       介绍WSE

l       WSE的安全特性

l       加密SOAP报文

l       WSE对加密的支持

l       配置WSE

l       SOAP报文的对称加密算法

l       使用X.509证书来加密SOAP报文

l       选择报文的节点(组成部分)来加密

l       局限性和协作性细节

l       结论

WSE介绍

为了使Web 服务在企业内部运行得更好,新一代的Web 服务规范被提出来.建议应该改善对Web  服务很重要的方面如 安全,可靠报文,发送附件对地区间的协调性.为了支持这些提议的标准,ms发布了WSE1.0 sp1,它包含了一系列的类来支持这些新的协议,如基于Microsoftasp.net宿主的过滤器,拦截进入和发出的SOAP报文,拦截或者产生SOAP头来支持需求的功能.WSE支持以下的规范:

l         WS-安全和Web 服务安全补遗

l         WS附件

l         WS路由

l         WS引用

WSE的安全特性

WSE运行时,由一系列过滤器产生和读取WS-security兼容的SOAP报头.当在一台支持WSEWeb服务器上接收到SOAP报文时,SOAP报文经过一系列输入过滤器读取WS-*兼容的报头,如有必要修改它们,产生一系列相关程序对象.同样,输出的报文是经过一些列输出过滤器,序列化一定的报头如WSE对象定义的. 所有被WSE1.0 sp1所支持的Web服务安全特征由安全输入和输出过滤器通过SecurityInputFilterSecurityOutputFilte对象来实现.它包含:数字签名,加密,签署和加密用户标识,签署和加密用x.509证书, 签署和加密用自定义2进制标识.

加密SOAP报文

用统一的格式来传输数据,使得有价值的数据容易被恶意用户访问,以至被拦截.使用SOAPxml来传输数据不但数据有潜在的安全威胁,而且你Web 服务的内在工作方式有可能被发现,通过观察SOAP 报文本身带的 xml 语法.使用合适的加密算法,数据和信息接口可以得到完全的保护.加密是简单的使用一种可逆的算法使用特定的密钥对明文进行加密,使得数据如果不解密则无法阅读. 如今,互联网加密的最常见的形式引入了一种传输级的加密模式,例如IPSEC和SSL,在传输层加密 .有了一定的安全性,但是传输层加密影响性能,尤其是当只有SOAP报文的一部分需要加密时.而且传输层加密不允许报文安全的路由通过Web 服务作为中介.因为报文需要解密由媒介在她能以新的加密的流传送到最终接收者之前,

Xml加密是如何工作的

Xml加密协议指定了SOAP报文的部分或者全部可以被加密.当使用xml加密时,将针对xml文档的部分进行加密,加密后的内容在EncryptedData节点内部.WS安全是基于 xml加密的,充分保证了使用xml加密来加密SOAP 报文时, EncryptedData security头部节点元素的引用.如果在SOAP报文的主体中有多个节点被加密时,每个节点参考自每个独立的且在ReferenceList 中的ReferenceData节点

对于一个EncryptedData 节点,一些密钥的信息可以在KeyInfo节点指定,加密的算法则在EncryptionMethod节点中指定,keyinfo节点按照xml签名规范来定义的.

soap报文格式

首先1 Boot报文是客户端设备每次重启的时候向服务器发送的请求,基本的发报流程是这样的: 1. 客户端向服务器发送1 Boot Inform请求。 2. 服务器接收到以后会向...
  • qq_34294677
  • qq_34294677
  • 2016年03月15日 10:00
  • 1573

WebService soap报文请求与响应报文解析

需求         今日公司要做一个协同办公系统(OA),PC端已经完成。现在要做一个手机端网页端的。从登陆入手,需要向 服务端发送一段请求报文获取响应报文,对响应报文进行解析判断是否登录成功。 ...
  • qq_24505127
  • qq_24505127
  • 2016年11月06日 23:07
  • 20325

自定义身份验证Soap头 进行加密解密

自定义身份验证Soap头 进行加密解密     在上篇文章中我们了解了使用自定义SOAP头进行身份验证,使webService服务的身份验证变得灵活,简便。 但是是以明文的方式在网上传输,不能...
  • ycl295644
  • ycl295644
  • 2015年09月29日 10:52
  • 1295

用Java来输出soap报文

前段时间开发acs,是基于soap协议的通信,一次通信过程包含多个soap报文,而且也不想普通的webserivice那样, soap报文是自动生成的。acs的通信的报文是硬编码编出来的,虽然能正确运...
  • suleil1
  • suleil1
  • 2015年10月28日 17:01
  • 3185

java使用soap方式简单实现webservice (二)

上一篇从 xml 中找对应的参数比较麻烦,这里介绍用 SOAPUI 的方式填写参数 这里为实际调用 .net的 短信发送服务测试import java.net.URL; import javax...
  • nohero1
  • nohero1
  • 2015年10月13日 10:53
  • 10959

soap报文略说

简单说一下soap报文,有两种版本的报文的报头。 SOAP_1_1_PROTOCOL与SOAP_1_2_PROTOCOL 分别对应的是1.1: 1.2: ...
  • shaguatao
  • shaguatao
  • 2016年09月23日 14:36
  • 1051

代码_AXIS:调用webservice接口发送soap报文

一、拼接报文的方式:     (1)利用StringBuffer来拼接字符串,代码如下: StringBuffer soapData = new StringBu...
  • dashengguilai_00
  • dashengguilai_00
  • 2017年09月19日 09:37
  • 246

soap发送报文请求和dom4j解析XML并且获得指定名称的节点信息

package com.lzw.b2b.soap; import java.io.ByteArrayInputStream; import java.io.InputStream; import j...
  • lzwjavaphp
  • lzwjavaphp
  • 2016年01月12日 14:01
  • 8033

CXF打印SOAP报文,记录WebService日志

CXF是Apache发布的一个用于快速构建Services的框架,用于构建WebService客户端及服务端。 使用cxf构建的java程序,在java层面看到的是很多层的java类对象,但是在实际的...
  • avwjq
  • avwjq
  • 2017年11月06日 17:59
  • 414

通过RSA和DES实现网络报文加密加签(实例)

该模块有以下几个java: /RsaAndDesTest/src/com/test/Test.java // 测试类 /RsaAndDesTest/src/com/test/EncryptManage...
  • u010355502
  • u010355502
  • 2017年07月11日 09:29
  • 743
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用WSE 加密SOAP报文(1)
举报原因:
原因补充:

(最多只允许输入30个字)