当为响应使用者或请求使用者配置使用者安全性约束时,完成以下步骤指定必须必须标记哪些消息部件或元素。响应使用者是为客户机配置的,而请求使用者是为服务器配置的。如果未对所需的部件进行签名,则拒绝请求或响应并且简单对象访问协议(SOAP)错误返回给调用者。在以下步骤中,您必须在步骤 2 中配置客户端扩展或在步骤 3 中配置服务器端扩展。
- 单击窗口 > 打开透视图 > J2EE。
- 可选: 使用“项目资源管理器”窗口找到客户端扩展。 显示“客户机部署描述符”窗口。此 Web Service 包含需要配置的扩展。
- 展开“Web Service > 客户机”部分,并双击 Web Service 的名称。
- 单击 WS 扩展选项卡并展开“响应使用者配置”部分。
- 可选: 使用“项目资源管理器”窗口找到服务器端扩展。 显示“Web Service 编辑器”窗口。此 Web Service 包含需要配置的扩展。
- 展开“Web Service > 服务”部分,并双击 Web Service 的名称。
- 单击扩展选项卡,并展开“请求使用者服务配置详细信息”部分。
- 展开“必需的完整性”部分。 完整性是指数字签名,而机密性是指加密。完整性可减少数据在网络中传输时被修改的风险。有关数字签名简单对象访问协议(SOAP)消息的更多信息,请参阅 XML 数字签名。
- 单击添加以表明使用者要标记哪些消息部件或元素。 显示“必需的完整性”对话窗口。
- 在“必需的完整性名称”字段下指定完整性元素的名称。
- 在“用法类型”字段中指定用法类型。 此字段指定完整性元素的需求。以下选项是可用的:
- 必需
- 如果您选择必需,并且未标记必需的消息部件或元素,则会因 SOAP 故障而拒绝该消息。
- 可选
- 如果您选择可选,则在标记所选消息部件或元素的情况下验证它们的数字签名。但是,如果未标记所选消息部件或元素,则使用者不拒绝该消息。
- 在“消息部件”部分下单击添加,然后选择“消息部件方言”。 The http://www.ibm.com/websphere/webservices/wssecurity/dialect-was
方言指定要使用关键字标记哪些消息部件或元素。
如果选择此方言,则可以在“消息部件关键字标题”下选择以下某个关键字:
- 主体
- 指定消息的用户数据部分。如果您选择此关键字,则检查主体以查看它是否已标记。
- timestamp
- 指定为数字签名检查消息内的独立时间戳记元素。时间戳记元素根据发送,然后接收消息的时间,确定消息是否有效。如果选择时间戳记选项,则确保在消息中有独立的时间戳记元素。如果该元素不存在,则请参阅在使用者安全性约束中添加独立时间戳记。
- securitytoken
- 指定安全性令牌认证客户机。如果选择此关键字,则检查安全性令牌或 SOAP 消息中的令牌以确定它们是否被标记。例如,如果您正在消息内发送 UsernameToken 元素,则可以指定使用此关键字标记该元素。
- dsigkey
- 指定检查用于数字签名的密钥信息元素以确定是否已标记。
- enckey
- 指定检查用于加密的密钥信息元素以确定是否已标记。
- messageid
- 指定检查消息内的 <wsa:MessageID> 元素以确定它是否已经过签名。
- to
- 指定检查消息内的 <wsa:To> 元素以确定它是否已经过签名。
- action
- 指定检查 <wsa:Action> 元素以确定它是否已经过签名。
- relatesto
- 指定检查消息内的 <wsa:RelatesTo> 元素以确定它是否已经过签名。
- 单击确定以保存配置更改。
注: 使用者和生成者的这些配置必须匹配。
除指定要标记的消息部件或元素外,您还可以指定要在标记的元素中包含的现时标志和时间戳记元素。有关更多信息,请参阅下列文章:
在您指定为数字签名检查哪些消息部件之后,必须指定使用哪种签名算法来验证签名。有关更多信息,请参阅
为使用者绑定配置签名信息。