继《WCF分布式应用程序开发必备知识》系列之后,经过一周的时间,我准备了关于如何使用WSE3.0进行Web Service安全开发的文章--《WSE3.0构建Web服务安全》,写出来一起与大家分享。《WCF分布式应用程序开发必备知识系列》第4节Web服务已经涉及到Web服务安全的问题。这个系列仍是对以前技术的整理和学习的文章。我在整理的过程中也收获很多,对整个WSE3.0的安全机制有的新的认识。不管高手还是菜鸟,都希望你能从我的这个系列文章里有所收获。那么我们就来一起学习这个系列文章的第一篇:WSE3.0安全机制与实例开发。
全部文章分为5个部分:
1.WSE3.0框架介绍
2.安全基本概念
3.下载与安装
4.代码实现与分析
5.总结。
网上很多参考的文章在介绍WSE安全开发的时候不够系统。往往有文章没代码,或者有代码但运行不了。最后我还会照例放出文章的例子代码。并包括详细的注释。
下面我们进入今天的正式学习。
【1】.WSE3.0框架介绍
WSE3.0全称是 Web Services Enhancements 3.0。是微软针对Web Service推出的安全实现平台,包括为了实现安全认证和加密特定的类库。WSE3.0的很多安全实现方式都能在WCF框架里找到影子。WebSerivice 2.0 支持 WS-I Basic Profile 1.1 和 SOAP 1.2。这意味着,它支持 XML 1.0、XML 架构定义 (XSD)、Web 服务描述语言 (WSDL)、SOAP 1.1、SOAP 1.2 以及编译时的基本配置文件一致性验证。WSE 3.0 通过提供对某些更高级的 WS-* 协议的支持,来补充 WebSerivice 2.0 的功能。
因此我们通常会使用WSE 3.0增强 WebSerivice安全。WSE3.0经常使用的特性包括如下四个方面:
(1)基于消息的安全性 (WS-Security) :支持WS-* 协议
(2)高效的二进制数据传输 (MTOM) :消息传输优化机制Message Transmission Optimization Mechanism
(3)可选的宿主环境 (Host):多个宿主程序的实现,IIS外托管的支持
(4)自定义声明性策略管道(Policy):根据用户需要自定义策略
首先,WSE 3.0支持WS-* 协议。它是由IBM、Microsoft 和 Verisign 联合发布,是关于 Web 服务安全性(Web Services Security,WS-Security)的规范,该规范提供了一套帮助 Web 服务开发者保护 SOAP 消息交换的机制。这个规范已经被 OASIS 所接受,并且新组建了 Web 服务技术委员会(Web Services Technical Committee,The WSS TC),以促使 WS-Security 成为开放标准。概念性协议栈规定了 Web 服务中构建安全性非常重要的额外元素。路线图中新增的三个部分,策略层中的两个元素和联合层中的一个元素(如图 所示)