使用特定于客户机和提供者应用程序的绑定来配置 XML 数字签名的策略集和绑定

您可以创建定制策略集和特定于应用程序的绑定以使用 XML 数字签名来签署请求和响应 SOAP 消息的主体。

开始之前

您要配置的服务提供程序和客户机位于 JaxWSServicesSamples 应用程序中。有关如何获取和安装此应用程序的更多信息,请参阅“访问样本”。

在您的服务器上使用以下跟踪规范,这将使您能够调试将来可能发生的任何配置问题。
*=info:com.ibm.wsspi.wssecurity.*=all:com.ibm.ws.webservices.wssecurity.*=all: 
com.ibm.ws.wssecurity.*=all: com.ibm.xml.soapsec.*=all: com.ibm.ws.webservices.trace.*=all: 
com.ibm.ws.websvcs.trace.*=all:com.ibm.ws.wssecurity.platform.audit.*=off:

关于此任务

将 WS-Security 策略集配置为仅使用 XML 数字签名 WS-Security 约束,并为客户机和提供程序配置特定于 XML 数字签名应用程序的定制绑定。

此过程中使用的密钥库随 WebSphere® Application Server(传统) 提供且已安装在所创建的每一个概要文件中。您可以在配置中直接使用 ${USER_INSTALL_ROOT} 变量以快捷地指向密钥库位置而无需使用标准路径。${USER_INSTALL_ROOT} 会解析为路径,例如 c:/WebSphere/AppServer/profiles/AppSrv01

${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
由于 JaxWSServicesSamples 的性质,要将策略集和绑定应用于此应用程序,请在管理控制台中单击应用程序 > 应用程序类型 > WebSphere 企业应用程序 > JaxWSServicesSamples。使用您自己的应用程序时,可以使用以下路径作为访问提供程序和客户机以连接策略集和绑定的替代方法:
* Services > Service Providers > (AppName)
* Services > Service clients > (AppName)
避免故障 避免故障: 请密切注意管理控制台中令牌使用者和生成器的名称。令牌的发起方和接收方可能不是您认为应该是的内容。表中的用途列指定令牌是使用者令牌还是生成器令牌。gotcha

过程

  1. 创建定制策略集。
    1. 在管理控制台中,单击服务 > 策略集 > 应用程序策略集
    2. 单击新建
    3. 指定名称=AsignPolicy
    4. 单击应用
    5. 在“策略”下,单击添加 > WS-Security
  2. 编辑定制策略集以移除加密和时间戳记。
    1. 在管理控制台中,单击 WS-Security > 主要策略
    2. 在“消息级别保护”下面,单击请求消息部件保护
    3. 单击 app_encparts
    4. 单击删除
    5. 单击完成
    6. 单击响应消息部件保护
    7. 单击 app_encparts
    8. 单击删除
    9. 单击完成
    10. 取消选择将时间戳记包含在安全头中
    11. 单击应用
    12. 保存配置。
  3. 配置客户机以使用 AsignPolicy 策略集。
    1. 在管理控制台中,单击应用程序 > 应用程序类型 > WebSphere 企业应用程序 > JaxWSServicesSamples > 服务客户机策略集和绑定
    2. 选择 Web Service 客户机资源 (JaxWSServicesSamples)。
    3. 单击连接策略集
    4. 选择 AsignPolicy
  4. 为客户机创建定制绑定。
    1. 再次选择 Web Service 资源。
    2. 单击指定绑定
    3. 单击新建特定于应用程序的绑定以创建特定于应用程序的绑定。
    4. 指定绑定配置名称。

      名称:clientBinding

    5. 单击添加 > WS-Security
    6. 如果主消息安全策略绑定面板未显示,请选择 WS-Security
  5. 配置客户机的定制绑定。
    1. 配置“证书库”。
      1. 选择密钥和证书
      2. 在“证书库”下面,单击新建入站...
      3. 指定名称=clientCertStore
      4. 指定中间 X.509 证书=${USER_INSTALL_ROOT}/etc/ws-security/samples/intca2.cer
      5. 单击确定
    2. 配置“信任锚”。
      1. 在“信任锚”下面,单击新建...
      2. 指定名称=clientTrustAnchor
      3. 单击外部密钥库
      4. 指定Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
      5. 指定密码=client
      6. 单击确定
      7. 单击此页面导航中的 WS-Security
    3. 配置签名生成器。
      1. 单击认证和保护 > AsymmetricBindingInitiatorSignatureToken0(签名生成器),然后单击应用
      2. 单击回调处理程序
      3. 指定密钥库=custom
      4. 单击定制密钥库配置,然后指定
        • Full path==${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
        • 密钥库密码=client
        • 名称=client
        • 别名=soaprequester
        • 密码=client
      5. 单击确定,再单击确定,然后单击确定
    4. 配置签名使用者。
      1. 单击 AsymmetricBindingRecipientSignatureToken0(签名使用者),然后单击应用
      2. 单击回调处理程序
      3. 在“证书”下面,单击证书库单选按钮,然后指定:
        • 证书库=clientCertStore
        • 信任锚库=clientTrustAnchor
      4. 单击确定,再单击确定
    5. 配置请求签名信息。
      1. 单击 request:app_signparts,然后指定名称=clientReqSignInfo
      2. 在“签署密钥信息”下面,单击新建,然后指定:
        • 名称=clientReqSignKeyInfo
        • 类型=Security Token reference
        • 令牌生成器或使用者名称=AsymmetricBindingInitiatorSignatureToken0
      3. 单击确定,然后单击应用
      4. 在“消息部件引用”下面,选择 request:app_signparts
      5. 单击编辑
      6. 在“变换算法”下面,单击新建
      7. 指定 URL=http://www.w3.org/2001/10/xml-exc-c14n#
      8. 单击确定,再单击确定,然后单击确定
    6. 配置响应签名信息。
      1. 单击 response:app_signparts,然后指定名称=clientRespSignInfo
      2. 单击应用
      3. 在“签署密钥信息”下面,单击新建,然后指定:
        • 名称=clientRspSignKeyInfo
        • 令牌生成器或使用者名称=AsymmetricBindingRecipientSignatureToken0
      4. 单击确定
      5. 在“签署密钥信息”下面,单击 clientRspSignKeyinfo,然后单击添加
      6. 在“消息部件引用”下面,选择 response:app_signparts
      7. 单击编辑
      8. 在“变换算法”下面,单击新建
      9. 指定 URL=http://www.w3.org/2001/10/xml-exc-c14n#
      10. 单击确定,再单击确定,然后单击确定
  6. 配置提供程序以使用 AsignPolicy 策略集。
    1. 在管理控制台中,单击应用程序 > 应用程序类型 > WebSphere 企业应用程序 > JaxWSServicesSamples > 服务提供程序策略集和绑定
    2. 选择 Web Service 提供程序资源 (JaxWSServicesSamples)。
    3. 单击连接策略集
    4. 选择 AsignPolicy
  7. 为提供程序创建定制绑定。
    1. 再次选择 Web Service 提供程序资源。
    2. 单击指定绑定
    3. 单击新建特定于应用程序的绑定以创建特定于应用程序的绑定。
    4. 指定绑定配置名称:providerBinding
    5. 单击添加 > WS-Security
    6. 如果主消息安全策略绑定面板未显示,请选择 WS-Security
  8. 为提供程序配置定制绑定。
    1. 配置“证书库”。
      1. 选择密钥和证书
      2. 在“证书库”下面,单击新建入站...
      3. 指定:
        • 名称=providerCertStore
        • 中间 X.509 证书=${USER_INSTALL_ROOT}/etc/ws-security/samples/intca2.cer
      4. 单击确定
    2. 配置“信任锚”。
      1. 在“信任锚”下面,单击新建...
      2. 指定名称=providerTrustAnchor
      3. 单击外部密钥库,然后指定:
        • Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
        • 密码=server
      4. 单击确定,然后单击此页面导航中的 WS-Security
    3. 配置签名生成器。
      1. 单击认证和保护 > AsymmetricBindingRecipientSignatureToken0(签名生成器),然后单击应用
      2. 单击回调处理程序
      3. 指定密钥库=custom
      4. 单击定制密钥库配置,然后指定
        • Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-receiver.ks
        • 密钥库密码=server
        • 名称=server
        • 别名=soapprovider
        • 密码=server
      5. 单击确定,再单击确定,然后单击确定
    4. 配置签名使用者。
      1. 单击 AsymmetricBindingInitiatorSignatureToken0(签名使用者),然后单击应用
      2. 单击回调处理程序
      3. 在“证书”下面,单击“证书库”单选按钮,然后指定:
        • 证书库=providerCertStore
        • 信任锚库=providerTrustAnchor
      4. 单击确定
      5. 单击此页面导航中的认证和保护
    5. 配置请求签名信息。
      1. 单击 request:app_signparts,然后指定名称=reqSignInf
      2. 单击应用
      3. 在“签署密钥信息”下面,单击新建,然后指定:
        • 名称=reqSignKeyInfo
        • 令牌生成器或使用者名称=AsymmetricBindingInitiatorSignatureToken0
      4. 单击确定
      5. 在“签署密钥信息”下面,单击 reqSignKeyinfo,然后单击添加
      6. 在“消息部件引用”下面,单击 request:app_signparts
      7. 单击编辑
      8. 在“变换算法”下面,单击新建,然后指定 URL=http://www.w3.org/2001/10/xml-exc-c14n#
      9. 单击确定,再单击确定,然后单击确定
    6. 配置响应签名信息。
      1. 单击 response:app_signparts,然后指定名称=rspSignInfo
      2. 单击应用
      3. 在“签署密钥信息”下面,单击新建,然后指定:
        • 名称=rspSignKeyInfo
        • 类型=Security Token reference
        • 令牌生成器或使用者名称=AsymmetricBindingRecipientSignatureToken0
      4. 单击确定,然后单击应用
      5. 在“消息部件引用”下面,选择 response:app_signparts
      6. 单击编辑
      7. 在“变换算法”下面,单击新建
      8. 指定 URL=http://www.w3.org/2001/10/xml-exc-c14n#
      9. 单击确定,再单击确定,然后单击确定
  9. 单击保存以保存配置更改。
  10. 重新启动客户机和提供程序。
    1. 停止客户机和提供程序。
    2. 重新启动客户机和提供程序。
  11. 测试服务。
    1. 将 Web 浏览器指向 JaxWSServicesSamples:
      http://localhost:9080/wssamplesei/demo
      避免故障 避免故障: 如果概要文件不在相同机器上或者端口不是 9080,请确保提供正确的主机名和端口。gotcha
    2. 选择消息类型同步回传
    3. 请确保未选择使用 SOAP 1.2
    4. 输入消息,然后单击发送消息
    样本应用程序应该回复 JAXWS==>Message

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_xmlds_policyset
文件名:twbs_xmlds_policyset.html