时间戳记

时间戳记是对象的值,用于指示对象历史记录中某个特定点处的系统时间。

时间戳记包括在消息中以降低应用程序对重放攻击的脆弱性。在 Web Service 中,当拦截 HTTP 请求并将内容按其原始格式重新发送给提供程序时,将发生重放攻击。

避免故障 避免故障: 在消息中包括时间戳记时,必须使用传输安全(例如,安全套接字层 (SSL))或消息级别安全(例如,XML 数字签名)保护其完整性。如果不保护时间戳记的完整性,那么可能捕获消息并重新传输具有不同时间戳记和/或消息到期日期的内容。gotcha

对于 JAX-RPC 和 JAX-WS WS-Security 运行时,如果未在消息中指定消息到期时间值,那么用于接收方的缺省消息到期时间为 5 分钟。如果特定的客户机需要不同的到期时间或者您不确定目标服务缺省值,请对出站时间戳记配置消息到期时间值。

支持的配置 支持的配置:
  • 当 Web Service 安全性 JAX-RPC 和 JAX-WS 运行时生成或使用消息时,它们不强制保护时间戳记的完整性。
  • Web Service 安全性 JAX-RPC 和 JAX-WS 运行时没有缺省出站消息到期值。如果要在消息中包括消息到期值,那么必须配置该值。虽然 JAX-WS 运行时没有缺省出站消息到期值,但是您可以在缺省常规绑定中配置出站消息到期值。此值将由对其应用缺省绑定的级别的所有应用程序获取。例如,该值可能在单元或应用程序级别予以获取。
  • 对于 JAX-RPC 运行时,时间戳记到期值是在 Web Service 部署描述符扩展中进行指定。您不能从管理控制台修改 Web Service 部署描述符扩展;只能查看该扩展。要修改部署描述符扩展,必须使用组装工具并添加或更改 JAX-RPC 应用程序的时间戳记到期值。
  • 如果 WS-Security 约束存在以使用时间戳记,那么客户机必须发送时间戳记。
  • WebSphere® Application Server 强制执行 IncludeTimestamp 策略断言。但是,很多服务提供者需要请求中具有此 <wsu:Timestamp> 元素,但不会在响应中发送此元素。响应中可能还不具有 Security 头,时间戳记中更是如此。IncludeTimestamp 位于策略中而响应中未返回时间戳记时,将在客户机上发生以下错误:
    CWWSS5730E: 找不到必需的时间戳记。
    要解决此问题,请将服务提供者配置为发送时间戳记,或通过在 WS-Security 策略绑定中将 com.ibm.wsspi.wssecurity.consumer.timestampRequired 定制属性设置为 false,将客户机配置为不需要时间戳记。有关更多信息,请参阅Web Service 安全定制属性
sptcfg

JAX-WS WS-Security 运行时符合 OASIS WS-SecurityPolicy 1.2 规范“需要时间戳记”需求。如果要将应用程序配置成在配置了出站时间戳记的情况下不需要入站时间戳记,那么您可以添加 com.ibm.wsspi.wssecurity.consumer.timestampRequired 定制属性以作为入站或入站/出站 Web Service 安全性定制属性。

JAX-WS 运行时始终先放置时间戳记,但 JAX-RPC 运行时并非如此。如果您使用的是 JAX-RPC WS-Security 1.0 运行时并且要在安全性头中先发送时间戳记,那么必须执行下列操作:
  • 将属性com.ibm.wsspi.wssecurity.timestamp.keyword设置为 SecurityFirst
  • 将属性com.ibm.wsspi.wssecurity.timestamp.dialect设置为 http://www.ibm.com/websphere/webservices/wssecurity/dialect-wascom.ibm.wsspi.wssecurity.timestamp.dialect的缺省值为 dialect-was,但是为了使所需功能工作,必须显式设置该属性。
在 Web Service 部署描述符扩展中,将这些属性设置为时间戳记生成器上的属性。因为它位于扩展中,所以只能使用组装工具对其进行编辑。

指示主题类型的图标 概念主题



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