Indicación de la hora
Una indicación de hora es el valor de un objeto que indica la hora del sistema en algún momento crítico en la historia del objeto.
Se incluye una indicación de la hora en un mensaje para reducir la vulnerabilidad de una aplicación a ataques de reproducción. En los servicios web, un ataque de reproducción se produce cuando se intercepta una solicitud HTTP y el contenido se devuelve al proveedor en su forma original.

Tanto para los tiempos de ejecución de WS-Security de JAX-RPC como de JAX-WS, 5 minutos es el tiempo de caducidad de mensaje predeterminado que se utiliza para el receptor si no se especifica un valor en el mensaje. Si se requiere una caducidad diferente para un cliente específico o no está seguro del valor predeterminado de servicio de destino, configure un valor de tiempo de caducidad de mensajes para la indicación de la hora de salida.

- Cuando los tiempos de ejecución JAX-RPC y JAX-WS de seguridad de servicios web generan o consumen un mensaje, no imponen la protección de la integridad de la indicación de hora.
- Los tiempos de ejecución JAX-RPC y JAX-WS de seguridad de servicios web no tienen un valor de caducidad de mensaje de salida predeterminado. Si desea incluir un valor de caducidad del mensaje en un mensaje, debe configurarlo. Aunque el tiempo de ejecución de JAX-WS no tenga un valor predeterminado de caducidad de mensaje de salida, puede configurar un valor de caducidad del mensaje de salida en los enlaces generales predeterminados. Este valor es adquirido por todas las aplicaciones en el nivel en el que se aplican los enlaces predeterminados. Por ejemplo, el valor puede ser adquirido en el nivel de célula o aplicación.
- Para el tiempo de ejecución JAX-RPC, el valor de caducidad de la indicación de la hora se especifica en la extensión del descriptor de despliegue de servicios web. No se puede modificar la extensión del descriptor de despliegue de servicios web desde la consola administrativa; sólo se puede ver. Para modificar la extensión del descriptor de despliegue, debe utilizar una herramienta de ensamblaje y añadir o cambiar el valor de caducidad de indicación de la hora para una aplicación JAX-RPC.
- Si las restricciones de WS-Security existen para consumir una indicación de hora, el cliente deberá enviar una indicación de fecha y hora.
- WebSphere Application Server aplica la aserción de política IncludeTimestamp. Sin embargo, muchos proveedores de servicio necesitan ese elemento <wsu:Timestamp> en la solicitud, pero no envían ninguno en la respuesta. También es posible que no exista ninguna cabecera de seguridad en la respuesta y mucho menos una indicación de fecha y hora. Se producirá el error siguiente en un cliente cuando IncludeTimestamp esté en la política pero no se devuelva ninguna indicación de fecha y hora en la respuesta:
Para resolver este problema, configure el proveedor de servicio para que se envíe una indicación de fecha y hora o configure el cliente para que no necesite la indicación de fecha y hora estableciendo la propiedad personalizada com.ibm.wsspi.wssecurity.consumer.timestampRequired en false en los enlaces de política de WS-Security. Para obtener más información, consulte Propiedades personalizadas de seguridad de servicios web.CWWSS5730E: No se ha encontrado una indicación de fecha y hora necesaria.
El tiempo de ejecución JAX-WS WS-Security cumple con el requisito de indicación de fecha y hora necesarias de la especificación OASIS WS-SecurityPolicy 1.2. Si desea configurar una aplicación para que no requiera una indicación de fecha y hora de entrada cuando se ha configurado una indicación de fecha y hora de salida, puede añadir la propiedad personalizada com.ibm.wsspi.wssecurity.consumer.timestampRequired como entrada o una propiedad personalizada de la seguridad de servicios web de entrada/salida.
- Establezca la propiedad com.ibm.wsspi.wssecurity.timestamp.keyword en SecurityFirst.
- Establezca la propiedad com.ibm.wsspi.wssecurity.timestamp.dialect en http://www.ibm.com/websphere/webservices/wssecurity/dialect-was. El valor predeterminado de com.ibm.wsspi.wssecurity.timestamp.dialect es dialect-was, pero para que funcione la función deseada, debe establecerse la propiedad de forma explícita.