跳转到主要内容

如果您还没有注册到 IBM 注册系统,我们为给您带来的不便表示道歉,并请您马上注册。 现在注册

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,概要信息中包括您的姓名和您在注册 developerWorks 时选择的昵称。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容显示在一起。

所有提交的信息确保安全。

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

了解 Web 服务规范: 第 4 部分:WS-Security

Nicholas Chase (ibmquestions@nicholaschase.com), 自由撰稿人, Backstop Media
Nicholas Chase 曾参与多家公司的网站开发工作,如 Lucent Technologies、Sun Microsystems、Oracle 和 Tampa Bay Buccaneers。Nick 担任过高中物理教师、低辐射废料处理设施管理员、在线科幻小说杂志编辑、多媒体工程师、Oracle 讲师以及一家交互通信公司的首席技术官。他已经出版了多本图书,其中包括 XML Primer Plus (Sams)。

简介:  很少有(如果有)不需要某种形式的安全性的企业级系统。在 Web 服务中,此过程比其他领域更为复杂,因为其具有分布式、无状态的本质。本教程是了解 Web 服务规范系列文章的第 4 部分,将说明 WS-Security 及 XML Signature 等相关标准的基础概念;通过组合使用这些标准,完全可以在 Web 服务内实现安全性。

查看本系列更多内容

发布日期:  2006 年 12 月 31 日
级别: 中级

建议: 

开始之前

在本教程中,您将了解有关 Web 服务安全性(Web Services Security,WS-Security)的信息。本教程针对这样的开发人员,他们希望在能够保证消息传递时不被篡改的环境中公开自己的服务,或在必须积极标识消息发送方的情况下公开自己的服务。术语“WS-Security”通常指处理加密和数字签名的一组规范,支持您创建安全应用程序。

为了按照本教程中的步骤进行操作,您应该具有 SOAP 的基本知识(可以通过阅读本系列教程的第 1 部分了解 SOAP)和 XML 的基本知识。SOAP 与编程语言无关,但本教程中的示例使用的是 Java ™ 和 Apache Axis2 项目。不过,其中的概念也适用于任何编程语言和环境。

关于本系列

本系列教程以假想的报社 Daily Moon 为例,为了提高在竞争激烈的环境中的工作效率,其员工将使用各种 Web 服务来创建工作流系统,我们将在此过程中讲述各个 Web 服务基本概念。

第 1 部分说明了 Web 服务背后的基本概念,并演示了如何使用 SOAP(后续教程讨论的大部分内容的基础规范)来将 Classifieds Department 连接到内容管理系统。

第 2 部分进一步深入说明如何使用 Web 服务描述语言(Web Services Description Language,WSDL)定义 Web 服务预期产生的消息,从而使团队更方便地创建服务以及连接到服务的客户机。

在第 3 部分中,团队希望准备一系列服务,并希望能方便地查找这些服务。与此对应,统一描述、发现和集成(Universal Description, Discovery and Integration,UDDI)提供了可用服务的可搜索注册中心,以便将自己的服务发布给其他人。

现在,在第 4 部分中,The Daily Moon 的发行人 Rudy 决定报社需要为访问其内部系统的 Web 服务制订更好的安全过程。

在有关 WS-Policy 的第 5 部分中,我们将讨论团队为了访问这些刚提供了安全保护的服务需要进行哪些更改。

第 6 部分重点讨论的将是互操作性,因为必须从单个系统访问来自几个不同实现的服务。第 6 部分还将讨论在 WS-I 证书中涉及的要求和测试。

最后,第 7 部分将演示如何使用业务流程执行语言(Business Process Execution Language,WS-BPEL)来从各个服务创建复杂应用程序。

接下来让我们更为详细了解一下本教程中将讨论的内容。

阅读本系列所有文章


关于本教程

在本教程中,您将了解 The Daily Moon 报社团队如何使用 WS-Security 规范来保证本系列前面的教程中讨论的 Web 服务之一的安全。

在本教程中,您将了解以下内容:

  • 什么是 WS-Security
  • 对称和非对称加密间的差异
  • 签名和加密间的差异
  • 安全性对 SOAP 消息的影响
  • 如何使用 Axis2 保护 SOAP Web 服务的安全

在开始进行相关工作前,您将需要获得一些工具。


先决条件

本教程的大部分内容都是概念性的东西,但为了处理创建 SOAP 消息的代码,您将需要安装以下软件:

我们将演示 Apache Geronimo 的安装和用法,而此应用服务器也是 IBM 的 WebSphere Community Edition 的基础。还可以使用 WebSphere Application Server 等其他应用服务器。可以下载 Apache Geronimo。有关安装 Geronimo 的更多信息,请参见本系列的第 1 部分

您将使用的是 Apache Axis2,其中包含了各种 SOAP 相关的 API,可极大地简化您的工作。可以从 Apache.org 下载 Apache Axis2 。本教程使用的是 0.94 版,但应该也能使用更高版本。

Apache Axis2 Rampart 模块——Security for the Axis2 Web 服务引擎通过 Rampart 模块提供,而此模块并未包含在缺省安装中。请从 Apache Download Mirrors 下载此模块。

Apache WSS4J——尽管 Axis 本身将使用 Rampart,但在某些情况下,您将需要引用 WSS4J 类目录。请下载 WSS4J 程序包

Java 2 Standard Edition 的 1.4.2 或更高版本——所有这些工具都是基于 Java 的,本教程中将要构建的服务和客户机也是如此。请下载 J2SE SDK

TCPMon(可选)——如果能实际看到消息,则更容易理解 Web 服务应用程序内的运行情况。请下载 TCP Monitor,以查看进出 Web 服务的消息。

GnuPG(可选)——我们将进行的所有消息签名工作都由 Axis2 和 Java 本身进行,不过,如果希望逐个对文档进行签名处理(我们将对此进行简单的演示),则请下载 GnuPG

您将还需要 Web 浏览器和文本编辑器。

1 页,共 11 | 后一页

建议



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=SOA and web services
ArticleID=186436
TutorialTitle=了解 Web 服务规范: 第 4 部分:WS-Security
publish-date=12312006
author1-email=ibmquestions@nicholaschase.com
author1-email-cc=troy@backstopmedia.com, webserv@us.ibm.com

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。