使用 XPath 表达式将完整性的时间戳记添加到生成者安全性约束中

以下信息说明使用 XPath 表达式和使用关键字之间的差异,以指定要标记哪个消息部件:
XPath 表达式
使用 XPath 表达式来指定消息的任何部件。XPath 是一种用于描述 XML 文档各部分的语言。您可以在以下 Web 站点找到有关 XPath 语法的信息:http://www.w3.org/TR/1999/REC-xpath-19991116
关键字
使用预定义的关键字仅指定消息内的元素。
此任务用于指定在特殊元素中嵌入时间戳记并标记该元素。当您为请求生成者或响应生成者配置生成者安全性约束时,请完成下列步骤以使用关键字来指定完整性的时间戳记。请求生成者是为客户机配置的,而响应生成者是为服务器配置的。在以下步骤中,您必须在步骤 2 中配置客户端扩展或在步骤 3 中配置服务器端扩展。
  1. 单击窗口 > 打开透视图 > J2EE
  2. 可选: 使用“项目资源管理器”窗口找到客户端扩展。 显示“客户机部署描述符”窗口。此 Web Service 包含需要配置的扩展。完成以下步骤以找到客户端扩展。
    1. 展开“Web Service > 客户机”部分,并双击 Web Service 的名称。
    2. 单击 WS 扩展选项卡并展开“请求生成者配置”部分。
  3. 可选: 使用“项目资源管理器”窗口找到服务器端扩展。 显示“Web Service 编辑器”窗口。此 Web Service 包含需要配置的扩展。完成以下步骤以找到服务器端扩展。
    1. 展开“Web Service > 服务”部分,并双击 Web Service 的名称。
    2. 单击扩展选项卡,并展开“响应生成者服务配置详细信息”部分。
  4. 展开“完整性”部分。 完整性是指数字签名,而机密性是指加密。完整性可减少数据在网络中传输时被修改的风险。有关数字签名简单对象访问协议(SOAP)消息的更多信息,请参阅 XML 数字签名
  5. 单击添加以指定完整性的时间戳记。 显示“完整性”对话窗口。完成以下步骤以指定配置:
    1. 在“完整性名称”字段中指定完整性元素的名称。 例如,您可以指定 int_tmstmp
    2. 在“顺序”字段中指定顺序。 该值必须是正整数值,指定处理数字签名的顺序。顺序值 1 指定先完成签名。
  6. 在“完整性对话”窗口的“时间戳记”部分中单击添加 完成以下步骤以指定时间戳记配置:
    1. 从“时间戳记”部分选择时间戳记方言。 http://www.w3.org/TR/1999/REC-xpath-19991116 方言指定使用 XPath 表达式添加和标记时间戳记的消息部件。
    2. 在“时间戳记关键字”字段中选择使用 XPath 表达式添加和标记时间戳记的消息部件。 例如,要指定将时间戳记添加到主体并标记该时间戳记,您可以为“时间戳记关键字”指定以下表达式:
      /*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' and local-name()='Envelope']/*
      [namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' and local-name()='Body']
    3. 在“时间戳记到期”字段中为时间戳记指定到期时间。 时间戳记有助于防护重放攻击。持续时间的词法表示法是 [ISO 8601] 扩展格式 PnYnMnDTnHnMnS,其中:
      P
      在日期和时间值之前。
      nY
      代表时间戳记有效的年份数。选择 0 到 99 年份的值。
      nM
      代表时间戳记有效的月份数。选择 0 到 11 月份的值。
      nD
      代表时间戳记有效的天数。选择 0 到 30 天的值。
      T
      区分日期和时间值。
      nH
      代表时间戳记有效的小时数。选择 0 到 23 小时的值。
      nM
      代表时间戳记有效的分钟数。选择 0 到 59 分钟的值。
      nS
      代表时间戳记有效的秒数。秒数可以包括任意精度的小数位数。您可以选择 0 到 59 秒和 0 到 9 毫秒的值。

      例如,要表示 1 年、2 个月、3 天、10 小时及 30 分钟,格式是:P1Y2M3DT10H30M。通常,您可以配置 10 和 30 分钟之间的消息时间戳记。例如,10 分钟表示为 P0Y0M0DT0H10M0SPT10M

  7. 在“消息部件”部分中,单击添加并在“消息部件方言”字段中选择 http://www.ibm.com/websphere/webservices/wssecurity/dialect-was。
  8. 在“消息部件”部分中,选择消息部件关键字。
    要点: 在“消息部件”部分中必须至少定义一个消息部件,以指定完整性的时间戳记。此消息部件与时间戳记的父元素一样标记。
  9. 单击确定以保存配置更改。
    注: 生成者和使用者的这些配置必须匹配。
在您指定了要数字签名的消息部件之后,您必须指定用来数字签名消息的方法。有关更多信息,请参阅使用组装工具为生成者绑定配置签署信息
相关任务
将独立时间戳记添加到生成器安全性约束
使用 XPath 表达式将完整性的现时标志添加到生成者安全性约束
使用组装工具为生成者绑定配置签署信息
使用关键字在生成者安全性约束中添加完整性的现时标志

反馈