在服务器端扩展文件(ibm-webservices-ext.xmi)和客户端部署描述符扩展文件(ibm-webservicesclient-ext.xmi)中,您必须指定签署的消息部件。并且,需要配置密钥信息,WebSphere® Application Server 管理控制台中的“签名信息”面板上的密钥信息引用将引用那些密钥信息。
此任务说明为应用程序级别的客户端请求生成者和服务器端响应生成者绑定配置签名信息所需的步骤。WebSphere Application Server
将使用缺省生成者的签名信息来对消息部件(包括主体、时间戳记和用户名令牌)进行签名。应用程序服务器提供绑定的缺省值。然而,管理员必须修改生产环境的缺省值。完成以下步骤在应用程序级别上为绑定文件的生成者部分配置签名信息:
- 在 WebSphere Application Server 管理控制台中找到签名信息配置面板。
- 单击应用程序 > 企业应用程序 > application_name。
- 在“相关项”下,单击 EJB 模块或 Web 模块 > URI_name。
- 在“其他属性”下,可以访问请求生成者和响应生成者绑定的签名信息。
- 要获取请求生成者(发送方)绑定,单击 Web Service:客户机安全绑定。在“请求生成者(发送方)绑定”下,单击编辑定制。
- 要获取响应生成者(发送方)绑定,单击 Web Service:服务器安全绑定。在“响应生成者(发送方)绑定”下,单击编辑定制。
- 在“必需属性”下,单击签名信息。
- 单击新建以创建签名信息配置,选择该配置旁的框并单击删除以删除现有配置,或者单击现有签名信息配置的名称以编辑其设置。 如果您正在创建新配置,则在“签名信息名称”字段中输入名称。例如,您可以指定 gen_signinfo。
- 从“签名方法”字段中选择签名方法算法。 为生成者指定的算法(请求生成者或响应生成者配置)必须匹配为使用者指定的算法(请求使用者或响应使用者配置)。WebSphere Application Server
支持下列预先配置的算法:
- http://www.w3.org/2000/09/xmldsig#rsa-sha1
- http://www.w3.org/2000/09/xmldsig#dsa-sha1
- http://www.w3.org/2000/09/xmldsig#hmac-sha1
- 从“规范方法”字段中选择规范方法。 您为生成者指定的规范算法必须匹配使用者的算法。WebSphere Application Server
支持下列预先配置的算法:
- http://www.w3.org/2001/10/xml-exc-c14n#
- http://www.w3.org/2001/10/xml-exc-c14n#WithComments
- http://www.w3.org/TR/2001/REC-xml-c14n-20010315
- http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
- 从“密钥信息签名类型”字段中选择密钥信息签名类型。 WebSphere Application Server 支持下列签名类型:
- 无
- 指定不签署 KeyInfo 元素。
- Keyinfo
- 指定签署整个 KeyInfo 元素。
- Keyinfochildelements
- 指定签署 KeyInfo 元素的子元素。
生成者的密钥信息签名类型必须匹配使用者的签名类型。您可能遇到以下情况:
- 如果未指定上述其中一种签名类型,则 WebSphere Application Server 在缺省情况下将使用
keyinfo。
- 如果选择 Keyinfo 或 Keyinfochildelements,并且在下一个步骤中选择
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
来作为变换算法,则 WebSphere Application Server 还将对引用的令牌进行签名。
- 从“签名密钥信息”字段中选择签名密钥信息参考。 此选择是对应用程序服务器用来生成数字签名的签名密钥的引用。
- 单击确定和保存以保存配置。
- 单击新的签名信息配置的名称。 此配置是您在先前步骤中指定的配置。
- 指定部分参考、摘要算法和转换算法。 该部分参考指定要数字签名的消息部件。
- 在“其他属性”下,单击部分参考 > 新建来创建新的部分参考,单击部分参考 > 删除来删除现有部分参考,或者单击部件名以编辑现有部分参考。
- 为此部分参考指定唯一的部分名。 例如,您可以指定 reqint。
- 从“部分引用”字段中选择部分引用。
该部分参考引用数字签名的消息部件。
当对签名指定了 <PartReference> 元素时,部件属性引用部署描述符中 <Integrity> 元素的名称。可以在 <SigningInfo> 元素中指定多个 <PartReference> 元素。当为签名指定 <PartReference> 元素时,它拥有两个子元素:<DigestTransform> 和 <Transform>。
- 从菜单中选择摘要方法算法。 在 <SigningInfo> 元素中将使用 <DigestMethod> 元素中指定的摘要方法算法。WebSphere Application Server
支持 http://www.w3.org/2000/09/xmldsig#sha1 算法。
- 单击确定以保存配置。
- 单击新的部分参考配置的名称。 此配置是您在先前步骤中指定的配置。
- 在“其他属性”下,单击转换 > 新建来创建新转换,单击转换 > 删除来删除转换,或者单击转换名以编辑现有转换。 如果您创建新的转换配置,则指定唯一的名称。例如,您可以指定 reqint_body_transform1。
- 从菜单中选择转换算法。 变换算法是在 <Transform> 元素内指定的算法,并指定签名的变换算法。WebSphere Application Server 支持下列算法:
- http://www.w3.org/2001/10/xml-exc-c14n#
- http://www.w3.org/TR/1999/REC-xpath-19991116
- http://www.w3.org/2002/06/xmldsig-filter2
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform
- http://www.w3.org/2002/07/decrypt#XML
- http://www.w3.org/2000/09/xmldsig#enveloped-signature
您为生成者选择的转换算法必须匹配为使用者选择的转换算法。
要点: 如果下列两个条件都成立,则 WebSphere Application Server 将对引用的令牌进行签名:
- 您先前从签署面板上的“密钥信息签名类型”字段中选择了 Keyinfo 或 Keyinfochildelements 选项。
- 您将 http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform 选为转换算法。
- 单击确定。
- 单击面板顶部的保存以保存配置。
完成这些步骤后,就在应用程序级别上为生成者配置了签名信息。
您必须为使用者指定类似的签名信息配置。