在服务器端扩展文件(ibm-webservices-ext.xmi)和客户端部署描述符扩展文件(ibm-webservicesclient-ext.xmi)中,您必须指定签署的消息部件。并且,需要配置密钥信息,WebSphere® Application Server 管理控制台中的“签名信息”面板上的密钥信息引用将引用那些密钥信息。
此任务说明为服务器或单元级别的客户端请求生成者和服务器端响应生成者绑定配置签名信息所需的步骤。如果在应用程序级别未定义这些绑定,则 WebSphere Application Server
将使用缺省生成者的签名信息来对消息部件(包括主体、时间戳记和用户名令牌)进行签名。应用程序服务器提供绑定的缺省值。然而,管理员必须修改生产环境的缺省值。
完成以下步骤在服务器级别上为绑定文件的使用者部分配置签名信息:
- 访问服务器级别的缺省绑定。
- 单击服务器 > 应用程序服务器 > server_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
支持下列预先配置的规范 XML 和专用 XML 规范算法:
- 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 还将对引用的令牌进行签名。
- 单击确定以保存配置。
- 单击新的签名信息配置的名称。 此配置是您在先前步骤中指定的配置。
- 指定密钥信息参考、部分参考、摘要算法和转换算法。
- 在“其他属性”下,单击密钥信息参考 > 新建创建新参考,单击密钥信息参考 > 删除来删除现有参考,或者单击参考名以编辑现有密钥信息参考。
- 在“名称”字段中输入配置的名称。 例如,输入 con_skeyinfo。
- 从“密钥信息引用”字段中选择密钥信息引用。 密钥信息引用指向 WebSphere Application Server
在进行数字签名时使用的密钥。I在绑定文件中,此引用是在 <signingKeyInfo> 元素中指定的。用于签名的密钥由密钥信息元素指定,它被定义在与签名信息相同的级别。有关更多信息,请参阅配置应用程序级别的生成者绑定的密钥信息。
- 单击确定和保存以保存配置。
- 在“其他属性”下,单击部分参考 > 新建来创建新的部分参考,单击部分参考 > 删除来删除现有部分参考,或者单击部件名以编辑现有部分参考。 该部分参考指定要数字签名的消息部件。当对数字签名指定了 <PartReference> 时,部件属性引用部署描述符中 <RequiredIntegrity> 元素的名称。WebSphere Application Server
使您能够为 <SigningInfo> 元素指定多个 <PartReference> 元素。<PartReference> 元素拥有两个子元素:<DigestMethod> 和 <Transform>
- 为此部分参考指定唯一的部分名。 例如,您可以指定 reqint。
要点: 我们不需要象在应用程序级别上指定值那样为“部分参考”字段指定值,因为应用程序级别上的部分参考指向签署的特定消息部件。
因为服务器级别的缺省绑定适用于特定服务器上定义的所有服务,所以您不能指定此值。
- 在“摘要方法算法”字段中选择摘要方法算法。 在 <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 选为转换算法。
- 单击确定。
- 单击面板顶部的保存以保存配置。
在完成这些步骤后,您已为服务器级别的使用者配置了签名信息。
您必须为生成者指定类似的签名信息配置。