跳转到主要内容

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

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

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

  • 关闭 [x]

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

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

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

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

  • 关闭 [x]

将 WebSphere Web 服务安全任务分流到 WebSphere DataPower SOA Appliance,第 2 部分: 配置 WebSphere DataPower SOA Appliance Web 服务代理以实现 WS-Security 非对称安全性

Joel Smith, 高级软件工程师, EMC
Joel Smith 一直从事各种操作系统、I/O 和通信子系统方面的工作。近年来,他一直在普及计算、应用服务器 Web 服务和 Web Services Security 领域从事应用程序中间件的开发。

简介: 了解如何使用 IBM® WebSphere® Application Server Web Services Feature Pack 和 WebSphere DataPower SOA Appliance 最大限度提高 Web 服务灵活性。WebSphere Application Server V6.1 的 Web Services Feature Pack 是基于标准的实现,包括多项 Web 服务规范 (WS*)。WebSphere DataPower SOA Appliance 能够以线速提供防火墙和安全功能。将 WebSphere Application Server 与 WebSphere DataPower SOA Appliance 集成可获得安全的高性能 Web 服务。本系列指导您将 WebSphere DataPower SOA Appliance 与 WebSphere Application Server 进行集成,以改善和保护 Web 服务安装的安全。

查看本系列更多内容

发布日期: 2009 年 4 月 07 日
级别: 中级 其他语言版本: 英文
访问情况 : 1502 次浏览
评论: 


此示例的先决条件

  • WebSphere Application Server 6.1,带 Web Services Feature Pack (WSFP)
  • WebSphere DataPower SOA Appliance XS40 或 XI50,固件版本为 3.6.1 或更高
  • 用于 Web 服务安全的 JCEKS 密钥存储库形式的安全凭据或指定加密操作所需的私钥/公开证书。

关于本文

在本文中,我们以前面的场景为基础,部署 WebSphere DataPower SOA Appliance 来处理应用服务器的 WS-Security 部分的工作。将在 WebSphere DataPower SOA Appliance 上创建 Web 服务代理来接收发送到 EchoService 服务的 Web 服务请求。

在本文中,我们将讨论以下任务:

  • 在 DataPower SOA Appliance 中配置 Web 服务代理为所部署的 Web 服务执行 Web 服务安全性处理
  • 为此示例准备 JCE 和 JCEKS 安全凭据
  • 使用 WebSphere Application Server 控制台禁用示例服务的 Web 服务安全策略

引言

在第 1 部分,我们使用了 Rational Application Developer 导入示例 EchoService 客户端 EAR 并为其启用了 WS-Security。然后在 WebSphere Application Server 上安装了示例 Web 服务客户端。安装了 EchoService 并为其配置了 WS-Security。浏览器用于输入消息,以便从 Web 服务 EchoService 客户端应用程序发送到 Web 服务 EchoService 服务。消息被回显到 Web 服务客户端。

本文中的步骤将演示如何将 WS-Security 处理部分从服务器分流到 DataPower Web 服务代理,并将剩下的 Web 服务处理延迟到应用服务器。通过这样,可以让 WebSphere DataPower SOA Appliance 完成资源密集型处理,而由应用服务器处理应用程序业务逻辑。

WebSphere DataPower SOA Appliance 是专门构建的网络设备,能帮助保护和加速 XML 和 Web 服务处理。虽然 WebSphere DataPower SOA Appliance 拥有各种功能和特性,但本文将重点讨论该设备的 Web 服务方面的功能。与本文相关的 Web 服务功能包括:XML 消息级别关于加密/解密的安全性处理、数字签名/验证、WS-Security、XML 模式验证、Web 服务管理支持和详细日志记录与审核。安全的 XML 处理资源消耗量可能极大。WebSphere DataPower SOA Appliance 提供传统 XML 引擎中可能没有的 XML 处理和安全。通过允许 WebSphere DataPower SOA Appliance 执行 Web 服务请求的进程密集型部分,可以加快速度和减少应用服务器的 Web 服务上的负载。

为了查看第 1 部分中的配置,我们将 EchoClient 配置为使用 WS-Security 非对称签名和加密与 EchoService 安全地通信。以下描述了第 1 部分的 Web 服务配置:


图 1. 采用缺省安全策略的 Web 服务配置
采用缺省安全策略的 Web 服务配置

在此场景中,SOAP 消息的所有元素都由 WebSphere Application Server (WAS) Feature Pack for 6.1 中的 Web 服务引擎处理。为了分流安全处理,WebSphere DataPower SOA Appliance 将成为 Web 服务请求的目标端点。WS-Security 策略处理将由 WebSphere DataPower SOA Appliance 完成,然后将 Web 服务请求转发到应用服务器来处理服务操作。将从 Web 服务应用服务器服务中删除缺省 WS-Security 策略。为了让 WebSphere DataPower SOA Appliance 处理 WS-Security 策略,将对 WebSphere DataPower SOA Appliance 的 Web 服务代理配置必要的安全凭据、WSDL 和应用服务器可寻址性信息。WebSphere DataPower SOA Appliance 配置将使用浏览器访问 DataPower 的 webGUI。下图是将安全性分流到 WebSphere DataPower SOA Appliance 处理的 Web 服务的概图:


图 2. 采用分流安全策略的 Web 服务配置
图 2. 采用分流安全策略的 Web 服务配置

在此配置中,已从 Web 服务引擎删除了 WAS 缺省安全策略。从 WebSphere DataPower SOA Appliance 收到的请求现在直接发送到 Web 服务引擎进行处理。指定 Web 服务的凭据和 WSDL 已经导出并配置在 WebSphere DataPower SOA Appliance 上。


此示例配置的步骤

为了将安全处理分流到 WebSphere DataPower SOA Appliance,将需要设备具有对 Web 服务安全凭据的访问权限。为此,将需要执行一系列步骤。

WebSphere DataPower SOA Appliance Web 服务代理将配置为处理 WS-Security 缺省策略。此安全策略使用非对称加密执行数字签名与验证、加密和解密。

通过使用 WAS 控制台,我们将确保不再配置 WS-Security。由于 WebSphere DataPower SOA Appliance 在执行此任务,因此不再需要这个配置。

我们将使用浏览器访问 EchoService 客户端,以发送消息来验证已恰当配置此场景。


密钥和证书管理

此示例的示例配置使用随 WAS WSFP 提供的两种不同类型的密钥存储库。数字签名的 WS-Security 缺省策略中使用的密钥存储库是标准 JDK“JKS”密钥存储库。用于加密的密钥存储库是 JCE 密钥存储库 (Java Cryptography Extension)。为了让 WebSphere DataPower SOA Appliance 执行数字签名、加密和解密操作,需要从这些密钥存储库上载密钥和证书。为了上载 JKS,首先将需要把密钥存储库转换为 JCE 密钥存储库。请使用以下步骤对密钥存储库进行准备,以便上载到 WebSphere DataPower SOA Appliance:

  1. Copy ${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks to a temporary directory /temp.
  2. 为了方便起见,请将以下两个文件也复制到临时目录中。

    ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks

    ${USER_INSTALL_ROOT}/etc/ws-security/samples/intca2.cer

    (如果 gsk7 可用,则可以使用 gsk7cmd.exe 进行转换。)
  3. 请使用以下命令将 JKS 密钥存储库转换为 JCE 密钥存储库。

    keytool -keypasswd -alias soapprovider -storetype jceks -keystore dsig-receiver.ks -v -storepass server -keypass server -new server

  4. 稍后要将此临时目录作为源目录,从其中将密钥和证书从这些密钥存储库上载到设备。

配置 WebSphere DataPower SOA Appliance 以使用 Web 服务缺省安全策略

此部分介绍如何配置 WebSphere DataPower SOA Appliance 及 Web 服务代理的详细步骤。此代理作为 EchoClient 应用程序的 Web 服务端点使用,执行 Web 服务安全处理,然后将剩下的 SOAP 消息转发到最终的 WAS Web 服务端点,以处理所请求的操作。

此示例的 Web 服务代理配置具有配置为使用所需端口的 HTTP 前端。将配置远程系统地址和端口来将请求路由到目标 Web 服务端口。将创建请求和响应处理规则来按照要求操作 SOAP 消息,以遵循所需的安全策略。对于加密/解密、签名/验证处理,将向 DataPower Appliance 上载必要的密钥存储库。将创建 Crypto 对象并将其配置到处理规则中。每个处理规则都将根据需要通过输入/输出/管道进行链接,以完成得到完全处理的请求。

WebSphere DataPower SOA Appliance 允许逐个创建 crypto 对象,然后在所需的配置中进行选择。在此示例中,将根据需要创建 crypto 对象,并配置 Web 服务代理。

对于配置上下文,WebSphere DataPower SOA Appliance 浏览器从提供 Web 服务的 WAS 计算机进行登录。对于 WebSphere DataPower SOA Appliance 上载流程,将需要提供上述的示例密钥存储库、转换后的密钥存储库、证书和导出的 WSDL。

  1. 通过浏览器,使用相应的用户 ID、密码和域登录到 WebSphere DataPower SOA Appliance WebGUI。
  2. 单击 Web Service Proxy 图标。

    图 3. WebSphere DataPower SOA Appliance 配置选择
    DataPower 配置选择

  3. 创建新 Web 服务代理,单击“Add”按钮。
  4. 输入 Web 代理名称“WSP-EchoService”。
  5. 对于 Web Service Proxy WSDLs,请选择“Add WSDL”。
  6. 上载从 WebSphere 控制台导出的 EchoService 的 WSDL(如上所述)。
  7. 单击“Upload”按钮。
  8. 浏览或输入 EchoService 的 WSDL 文件(解压后)的位置。
  9. 验证文件名与另存时所选名称相同。
  10. 选择“Upload”按钮。

    图 4. 配置 WebSphere DataPower SOA Appliance Web 服务代理
    配置 DataPower Web 服务代理

  11. 选择 Next。
  12. 要设置前端处理程序或本地 EndPoint 处理程序,请单击“+”创建新的前端处理程序。
  13. 从菜单选项中选择“Http Front Side Handler”。
  14. 为前端处理程序输入名称,FSH-HTTP-EchoService。
  15. 输入前端处理程序的 IP 地址。如果将此值保留为 0.0.0.0,则将使用缺省配置的 DataPower 地址。
  16. 为 EndPoint 输入所需的端口,9080。
  17. 验证其他所需设置,本示例其他设置均使用缺省值。
  18. 选择 Apply。
  19. 在“FSH-HTTP-EchoService”下拉窗口中,选择右侧的“+ Add”,使其成为活动前端处理程序。
  20. 选择 Next。

    图 5. 配置 HTTP 前端处理程序
    配置 HTTP 前端处理程序

  21. 输入 WAS Web 服务端点的 Remote 设置,操作将在此位置处理。
  22. 输入 IP 地址或主机名、端口 (9080) 和 URI (/WSSampleSei/EchoService)。

    图 6. 配置 HTTP 后端处理程序
    配置 HTTP 后端处理程序

  23. 选择 Next。

此时,WebSphere DataPower SOA Appliance 配置为接受请求并将其转发到远程系统,但不执行处理。此图中所示是目前所完成的配置的示例:


图 7. Web 服务代理配置
Web 服务代理配置

WebSphere DataPower SOA Appliance 策略配置

需要配置安全处理策略,使其与 WAS WS-Security 缺省策略匹配。我们将按照以下所示的处理流顺序对其进行配置:

请求规则

  • 解密传入 SOAP 消息
  • 验证传入 SOAP 消息
  • 使用转换移除 WAS 端点的 SOAP 安全 Header

响应规则

  • 对传出 SOAP 消息签名
  • 对传出 SOAP 消息加密

配置请求解密规则

  1. 在 Configure Web Service Proxy 屏幕的顶部选择“Policy”选项卡。
  2. 单击“(request-rule)”以打开规则配置面板。
  3. 单击解密图标,将其拖动到处理线上匹配操作图标后的位置,并释放。
  4. 双击刚刚拖放的解密图标,以配置加密设置。
  5. 对于“Decrypt Key”字段,单击“+”创建 crypto 解密对象。
  6. 输入加密密钥的名称,WS-enc-receiver-privatekey。
  7. 选择“Upload”按钮,以从我们的 JCEKS 密钥存储库上载 bob 的私钥。
  8. 对于“Source”,选择 Java Key Store。
  9. 浏览或输入 ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks 作为文件名。
  10. 对于 Key store type,请输入 JCEKS。
  11. 对于 Key store password,请输入 storepass。
  12. 按 Tab 跳到“Key to upload:”字段并选择“bob (key)”。
  13. 对于 Key password,请输入 keypass。
  14. 按 Tab 跳到“Save as:”字段并输入文件名 WS-enc-receiver-bob.pem。
  15. 单击“Upload”按钮(这将关闭 Configure Crypto Key。

    图 8. 上载请求证书
    上载请求证书

  16. 验证“Decrypt Key”字段中选择了刚刚创建的加密密钥 (WS-enc-receiver-privatekey)。
  17. 单击“Done”按钮。

    图 9. 配置解密操作
    配置解密操作

  18. 接下来,选择“Proxy Settings”选项卡。在“Decrypt Key”下拉字段,选择刚刚配置的“WS-enc-receiver-privatekey”。
  19. 单击“Apply”按钮,以保存当前配置。

配置请求验证规则

  1. 从“Policy”选项卡页中,单击“(request-rule)”以打开规则配置面板。
  2. 单击验证图标,并将其拖动到处理线中之前创建的解密操作图标后的位置,并将图标释放到线上。
  3. 双击刚刚释放的验证图标,以配置验证设置。
  4. 对于名称,输入“WS-Verify-Credential”。
  5. 对于“Certificates”字段,请单击“+”为签署者创建新认证,以用于验证传入请求。
  6. 输入加密密钥的名称 WS-Verify-Soap-ca。
  7. 选择“Upload”按钮,以上载验证证书。
  8. 为“Source”选择 File 选项。
  9. 浏览或输入 ${USER_INSTALL_ROOT}/etc/ws-security/samples/intca2.cer 作为文件名。
  10. 按 Tab 跳到“Save as:”字段并输入文件名 WS-intca2.cer。
  11. 单击“Upload”按钮(这将关闭 Configure Crypto Key 屏幕)。

    图 10. 配置加密验证凭据
    配置加密验证凭据

  12. 验证“Validation Credential”字段中是否选择了刚刚创建的加密密钥 (WS-Verify-Soap-ca)。
  13. 单击“Apply”按钮进行保存。
  14. 选择“Advanced”选项卡,以展开其他设置。验证时间戳设置是否具有合适的响应窗口。应该选择能容忍客户端和 DataPower 系统时间不匹配和网络响应延迟的情况的值。设置为 300。
  15. 单击“Done”按钮。

    图 11. 配置验证操作
    配置验证操作

  16. 单击“Apply”按钮,以保存当前配置。

配置请求转换规则

  1. 从“Policy”选项卡页中,单击“(request-rule)”以打开规则配置面板。
  2. 单击转换图标,并将其拖动到处理线上之前创建的转换操作图标后的位置,并释放。
  3. 双击刚刚释放的转换图标,以配置验证设置。
  4. 对于“Input”字段,选择“dpvar_1”。这会将转换操作链接到将被转发的处理流。
  5. 对于“Processing Control File”设置,在第一个下拉菜单中选择 XSL 样式表位置“store:///”,在第二个下拉菜单中选择 XSL 文档转换样式表“strip-security-header.xsl”。

    图 12. 配置转换操作
    配置转换操作

  6. 单击“Done”按钮。
  7. 单击“Apply”按钮,以保存当前配置。

配置请求输出
  1. 从“Policy”选项卡页中,单击“(request-rule)”以打开规则配置面板。
  2. 双击位于所配置规则设置末端的结果图标。
  3. 验证为“Input”字段选择了“dpvar_2”。这会设置将发送到后端服务的流。
  4. 单击“Done”按钮。

    图 13. 配置请求输出
    配置请求输出

  5. 单击“Apply”按钮,以保存当前配置。

配置响应签名规则
  1. 从“Configure Web Service Proxy”的“Policy”选项卡上,单击“(response-rule)”,以打开规则配置面板。
  2. 单击签名图标,并将其拖动到处理线上匹配操作图标后并释放。
  3. 双击刚刚释放的签名图标,以配置验证设置。
  4. 选择“Advanced”选项卡。
  5. 对“Envelope Method”,请选择“WSSec method”选项。
  6. 选择消息类型“Selected Elements”。
  7. 选择“+”,以创建“Document Crypto Map”。
  8. 在新打开的屏幕上,输入名称 WS-Sec-Sign-Map。
  9. 对于 XPATH 表达式,输入 //*[local-name()='Body']。
  10. 选择“Add”按钮。
  11. 对于下一个 XPATH 表达式,请输入 //*[local-name()='Header']/*[local-name()='Action']。
  12. 选择“Add”按钮。
  13. 对于下一个 XPATH 表达式,请输入 //*[local-name()='Header']/*[local-name()='RelatesTo']。
  14. 选择“Add”按钮。
  15. 选择“Apply”按钮,以完成“Document Crypto Map”。

    图 14. 配置签名映射
    配置签名映射

  16. 验证为“Document Crypto Map”字段选择了新创建的“WS-Sec-Sign-Map”。
  17. 按“Key”字段的“+”,创建签名“密钥”。
  18. 输入用于进行签名的私有加密密钥的名称 WS-dsig-receiver-private。
  19. 选择“Upload”按钮。
  20. 选择 Java Key Store。
  21. 浏览上面所述的经过转换的 JCEKS dsig-receiver.jceks 文件。
  22. 在 Key store type 中输入 JCEKS。
  23. 输入密钥存储库密码、服务器。
  24. 选择要上载的密钥 soapprovider (key)。
  25. 输入密钥密码、服务器。
  26. 输入另存目标:WS-dsig-receiver-soapprovider.pem。
  27. 选择“Upload”按钮。

    图 15. 上载数字签名密钥
    上载数字签名密钥

  28. 验证在“File Name”字段中选择了刚刚上载的私钥。
  29. 选择“Apply”完成操作。
  30. 按“+”创建新证书,这将为 soapprovider 公钥。
  31. 输入公共加密证书的名称 WS-dsig-receiver-public。
  32. 选择“Upload”按钮。
  33. 选择 Java Key Store。
  34. 浏览上面所述的经过转换的 JCEKS dsig-receiver.jceks 文件。
  35. 在 Key store type 中输入 JCEKS。
  36. 输入密钥存储库密码、服务器。
  37. 选择要上载的证书 soapprovider (certificate)…
  38. 输入密钥密码、服务器。
  39. 输入另存目标:WS-dsig-receiver-soapprovider.cer。
  40. 选择“Upload”按钮。

    图 16. 配置数字签名加密证书
    配置数字签名加密证书

  41. 选择“continue”按钮。
  42. 验证选择了刚刚上载的公钥的配置加密认证的文件名称。

    图 17. 配置数字签名加密证书
    配置数字签名加密证书

  43. 选择“Apply”完成操作。
  44. 选择“Done”,以完成签名操作。

    图 18. 配置签名操作
    配置签名操作

  45. 单击“Apply”按钮,以保存当前配置。

配置响应加密规则 #1
  1. 从“Policy”选项卡页中,单击“(response-rule)”以打开规则配置面板。
  2. 单击加密图标,并将其拖动到处理线上刚刚创建的签名操作图标后的位置。
  3. 双击刚刚拖放的加密图标配置加密操作设置。
  4. 对于“Envelope method”,请选择“WSSec Encryption”。
  5. 对于“Message type”,请选择“Selected Elements”。
  6. 对于“Document Crypto Map”,请选择“+”输入新映射,以便用于选择要在模式中加密的元素。
  7. 输入 Document Crypto Map 的名称 WS-encrypt-map。
  8. 对于“XPATH Expression”,输入 //*[local-name()='Signature']。
  9. 选择“Add”按钮。
  10. 选择“Apply”完成操作。

    图 19. 配置加密映射
    配置加密映射

  11. 在 Configure Encrypt Action 屏幕的顶部选择“Advance”选项卡。
  12. 对于“Recipient Certificate”,请选择“+”用于加密签名的新证书。
  13. 输入加密证书的名称 WS-enc-receiver-publickey。
  14. 选择“File Name”字段上的“Upload”按钮。
  15. 对于 Source,选择 Java Key Store。
  16. 浏览或输入 ${USER_INSTALL_ROOT}/etc/ws-security/samples/enc-receiver.jceks 作为文件名。
  17. 输入密钥存储库类型 JCEKS。
  18. 输入密钥存储库密码 storepass。
  19. 选择要上载的“Key” alice (certificate) …
  20. 为“Key password”为输入 keypass。
  21. 输入进行另存的文件名 WS-enc-receiver-alice-cert.cer。
  22. 选择“Upload”按钮。
  23. 验证“File Name”字段配置为刚刚上载的公钥。
  24. 选择“continue”按钮。
  25. 选择“Apply”按钮,以完成“Configure Crypto Certificate”面板。
  26. 对于“Symmetric Encryption Algorithm”,请选择 AES128-CBC。

    图 20. 配置加密证书
    配置加密证书

  27. 选择“Done”按钮,以完成“Configure Encrypt Action”。
  28. 单击“Apply”按钮,以保存当前配置。

配置响应加密规则 #2
  1. 从“Policy”选项卡页中,单击“(response-rule)”以打开规则配置面板。
  2. 单击加密图标,并将其拖动到处理线上之前的加密操作图标后的位置。
  3. 双击刚刚拖放的加密图标配置第二个加密操作设置。
  4. 在“Configure Encrypt Action”屏幕的顶部选择“Advance”选项卡。
  5. 对于“Envelope Method”,请选择“WSSec Encryption”。
  6. 对于“Message Type”,请选择“Soap Message”。
  7. 对于 Recipient Certificate,选择下拉条,选择之前创建的证书 WS-enc-receiver-publickey。
  8. 对于“Symmetric Encryption Algorithm”,请选择“AES128-CBC”。
  9. 选择“Done”按钮,以完成“Configure Encrypt Action”。

    图 21. 配置加密操作
    配置加密操作

  10. 在 Configure Web Service Proxy 上选择“Apply”按钮,以应用响应配置更改。

    图 22. 配置 Web 服务代理响应操作
    配置 Web 服务代理响应操作

  11. 选择屏幕右上角的“Save Config”按钮,以保存当前域配置。

删除 WebSphere Application Server Web 服务缺省安全策略

WebSphere DataPower SOA Appliance 现在配置为对 Web 服务 EchoService 执行 Web 服务缺省安全策略。Web 服务请求将以纯 SOAP 消息的形式从 WebSphere DataPower SOA Appliance 发送到 WebSphere Application Server 服务。不过,通过前面的配置步骤,将预计由 WebSphere Application Server Web 服务 (EchoService) 对消息进行签名和加密。需要关闭 EchoService 的 WS-Security 来允许将请求传递到服务端点进行处理。

要关闭 EchoService 的 WS-Security,请执行以下步骤。

  1. 在 WAS 控制台(左窗格)Services->Service providers,单击 EchoService。

    图 23. Service Providers
    Service Providers

  2. 选择所有条目。在菜单中单击“Detach”。

    图 24. 服务提供者策略附件
    服务提供者策略附件

  3. 现在已将 EchoService 服务配置为不使用 WS-Security。

    图 25. 删除了服务提供者策略附件
    删除了服务提供者策略附件

  4. 在 WAS 控制台顶部的屏幕中,单击“Save”以保存更改。

配置工作现在已经完成。我们可以使用本系列第 1 部分中配置的 Demo Servlet 向 WebSphere DataPower SOA Appliance Web 服务代理发送安全消息,然后转发到后端服务。请参阅第 1 部分的说明使用浏览器启动 Demo Servlet。选择要发送的消息类型。输入要发送的测试消息字符串。接受缺省的消息计数。在 Service URI 中,您可以选择 IP 地址、主机名和应用服务器的端口,以及应发送消息的端口。消息将回显在“Send”按钮下面的对话框中。


总结/结束语

在本系列的第 1 部分,我们使用了 Rational Application Developer 导入示例 EchoService 客户端 EAR 并为其启用了 WS-Security。然后在 WebSphere Application Server 上安装了示例 Web 服务客户端。安装了 EchoService 并为其配置了 WS-Security。使用了浏览器输入消息,以从 Web 服务 EchoService 客户端应用程序发送到 Web 服务 EchoService 服务。消息被回显到 Web 服务客户端。

从客户端将消息发送到网络之前,WS-Security 使用了非对称密钥对消息进行数字签名和加密。在应用服务器收到消息时,WS-Security 使用了非对称密钥验证数字签名并对消息解密。然后将消息传递到 Web 服务进行处理。在此场景中,消息直接在响应中回显。在将消息发送到网络之前,WS-Security 使用了非对称密钥对响应消息进行数字签名和加密。在客户端,WS-Security 接收响应,解密消息,然后验证数字签名。然后,消息在浏览器屏幕上回显。


在本系列的此部分中,我们配置了 WebSphere DataPower SOA Appliance 执行处理的 WS-Security 部分。通过前端处理程序将 Web 服务代理配置为了 Web 服务端点。前端处理程序将服务请求与上载到 WebSphere DataPower SOA Appliance 的 WSDL 进行匹配。当请求与所配置的 WSDL 匹配时,WebSphere DataPower SOA Appliance 将开始使用所配置的请求策略处理请求。在这种情况下,消息使用 Bob 的私钥进行解密。然后将使用 soaprequestor 公钥验证请求的数字签名。接下来将执行转换规则来删除已经处理过的安全 Header。请求现在已经进行了解密并验证是否与数字签名匹配,接下来将发送到 WebSphere Application Server EchoService 进行处理。从服务删除 WS-Security 后,请求将立即由服务逻辑进行处理。

当 EchoService 发出响应时,会将其发送到 DataPower Web 服务代理添加指定的安全属性。在响应处理中,将使用 soapprovider 私钥向主体和 Header 应用数字签名。接下来,将使用 Alice 的公钥对数字签名进行加密。接下来,使用 Alice 的公钥对响应消息进行加密。DataPower Web 服务代理现在将安全响应发送到初始 EchoService 请求。

正如您可以看到的,一旦将 WebSphere DataPower SOA Appliance 配置为使用 WS-Security 处理策略,则可以使用专门构建的 WebSphere DataPower SOA Appliance 独立处理 Web 服务消息的安全凭据。由于可以快速处理安全凭据,因此能够实现非常好的可扩展性和性能。


参考资料

学习

获得产品和技术

关于作者

Joel Smith 一直从事各种操作系统、I/O 和通信子系统方面的工作。近年来,他一直在普及计算、应用服务器 Web 服务和 Web Services Security 领域从事应用程序中间件的开发。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

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

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

(长度在 3 至 31 个字符之间)


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

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=SOA and web services, WebSphere
ArticleID=380042
ArticleTitle=将 WebSphere Web 服务安全任务分流到 WebSphere DataPower SOA Appliance,第 2 部分: 配置 WebSphere DataPower SOA Appliance Web 服务代理以实现 WS-Security 非对称安全性
publish-date=04072009
author1-email=sjoel@us.ibm.com
author1-email-cc=

标签

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

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

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

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

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