为签署者证书加密配置策略集和绑定

此过程描述如何为签署者证书加密配置 JAX-WS 使用者/提供程序。 签署者证书加密表示客户机的、用来验证入站请求消息的数字签名的公用证书用于加密出站响应。

开始之前

此项任务假设您要配置的服务提供程序和客户机位于 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:
    com.ibm.ws.webservices.multiprotocol.AgnosticService=all:
    com.ibm.ws.websvcs.utils.SecurityContextMigrator=all 

关于此任务

因为正在使用签署者证书加密,所以在此过程中将只使用客户机的数字签名密钥库。 服务将从入站请求中获取用于进行签名验证的公用证书,然后使用该公用证书来加密响应。 在提供程序端,提供程序加密生成器上的定制属性 com.ibm.wsspi.wssecurity.token.cert.useRequestorCert=true 用于完成此操作。

此过程中使用的密钥库随 WebSphere Application Server 提供且已安装在所创建的每一个概要文件中。您可以在配置中直接使用 ${USER_INSTALL_ROOT} 变量以快捷地指向密钥库位置而无需使用标准路径。${USER_INSTALL_ROOT} 会解析为路径,例如 c:/WebSphere/AppServer/profiles/AppSrv01
${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
由于 JaxWSServicesSamples 的性质,所以要将策略集和绑定应用至此应用程序,请在管理控制台中单击应用程序 > 应用程序类型 > WebSphere 企业应用程序 > JaxWSServicesSamples。使用您自己的应用程序时,可以使用以下路径作为访问提供程序和客户机以连接策略集和绑定的替代方法:
  • 服务 > 服务提供程序 > (应用程序名称)
  • 服务 > 服务客户机 > (应用程序名称)
此过程将执行下列操作来简化任务:
  • 将只配置出站数字签名和入站加密。
  • 常规绑定将同时用于客户机和提供程序。
避免故障 避免故障:

完成任务之后,如果您必须返回并编辑已创建的常规绑定,那么您将需要在保存更新之后重新启动应用程序服务器。 虽然您可以创建一个常规绑定并可在不重新启动应用程序服务器的情况下立即使用该常规绑定,但是一旦某个应用程序装入常规绑定,将无法识别对该绑定的更改,直到重新启动服务器为止。

gotcha

过程

  1. 创建定制策略集。
    1. 在管理控制台中,单击服务 > 策略集 > 应用程序策略集
    2. 单击新建
    3. 指定 name=OutSignInEncPolicy
    4. 策略下面,单击添加 > WS-Security
  2. 编辑定制策略集以移除出站加密和入站签名。
    1. 在管理控制台中,请单击 WS-Security > 主策略
    2. 消息级别保护下面,单击请求消息部件保护
    3. 单击 app_encparts
    4. 单击删除
    5. 单击完成
    6. 单击响应消息部件保护
    7. 单击 app_sigparts
    8. 单击删除
    9. 单击完成
  3. 单击“保存”以保存配置更改。
  4. 创建提供程序常规绑定。
    1. 在管理控制台中,单击服务 > 策略集 > 常规提供程序策略集绑定
    2. 勾选提供程序样本
    3. 单击复制...
    4. 指定 name=ProviderSignerCertGeneralBinding
    5. 单击确定
  5. 编辑 ProviderSignerCertGeneralBinding 以执行签署者证书加密。
    1. 单击 ProviderSignerCertGeneralBinding > WS-Security > 认证和保护 > gen_encx509token > Callback handler
    2. 定制属性下面,输入:
      Name=com.ibm.wsspi.wssecurity.token.cert.useRequestorCert
      value=true
    3. 密钥库下面,选择 Name=None
    4. 单击确定
  6. 创建客户机常规绑定。
    1. 在管理控制台中,单击服务 > 策略集 > 常规客户机策略集绑定
    2. 勾选客户机样本
    3. 单击复制...
    4. 指定 name=ClientSignerCertGeneralBinding
    5. 单击确定
  7. 编辑 ClientSignerCertGeneralBinding 以使用它自己的签名密钥对消息进行解密。
    1. 单击 ClientSignerCertGeneralBinding > WS-Security > 认证和保护 > con_encx509token > 回调处理程序 > 定制密钥库配置
    2. 密钥库下面,输入签名生成器所使用的密钥库:
      Full path=${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks
      Type=JKS
      Password=client
    3. 密钥下面,输入签名生成器所使用的密钥:
      Name=CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP
      Alias=soaprequester
      Password=client
    4. 单击确定
  8. 配置客户机以使用 OutSignInEncPolicy 策略集和 ClientSignerCertGeneralBinding 常规绑定。
    1. 在管理控制台中,单击应用程序 > 应用程序类型 > WebSphere 企业应用程序 > JaxWSServicesSamples > 服务客户机策略集和绑定
    2. 选择 Web Service 客户机资源 (JaxWSServicesSamples)。
    3. 单击连接策略集
    4. 选择 OutSignInEncPolicy
    5. 再次选择 Web Service 客户机资源 (JaxWSServicesSamples)。
    6. 单击指定绑定
    7. 选择 ClientSignerCertGeneralBinding
  9. 配置提供程序以使用 SimpleSignEncPolicy 策略集和 ProviderSignerCertGeneralBinding 常规绑定。
    1. 在管理控制台中,单击应用程序 > 应用程序类型 > WebSphere 企业应用程序 > JaxWSServicesSamples > 服务提供程序策略集和绑定
    2. 选择 Web Service 提供程序资源 (JaxWSServicesSamples)。
    3. 单击连接策略集
    4. 选择 OutSignInEncPolicy
    5. 再次选择 Web Service 提供程序资源 (JaxWSServicesSamples)。
    6. 单击指定绑定
    7. 选择 PrioviderSignerCertGeneralBinding
  10. 单击“保存”以保存配置更改。
  11. 重新启动客户机和提供程序。
    1. 停止客户机和提供程序。
    2. 重新启动客户机和提供程序。
  12. 测试服务。
    1. 将 Web 浏览器指向 JaxWSServicesSamples:http://localhost:9080/wssamplesei/demo
      避免故障 避免故障: 如果提供程序不在相同机器上或者端口不是 9080,请确保提供正确的主机名和端口。gotcha
    2. 选择消息类型同步回传
    3. 请确保未选择使用 SOAP 1.2
    4. 输入消息,然后单击发送消息
    样本应用程序应该回复 JAXWS==>Message

结果

现在,已将 JaxWSServicesSamples Web Service 应用程序配置成使用签署请求时所使用的证书来加密响应。

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



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