Propagate TTL in Wss4jSecurityInterceptor.
Ensure TTL values are propagated properly through Wss4j's security interceptor. Resolves #1150. Original pull request: #1185.
This commit is contained in:
committed by
Greg L. Turnquist
parent
d260339814
commit
ffe5ccbdb5
@@ -689,7 +689,13 @@ public class Wss4jSecurityInterceptor extends AbstractWsSecurityInterceptor impl
|
||||
|
||||
requestData.setCallbackHandler(validationCallbackHandler);
|
||||
|
||||
messageContext.setProperty(WSHandlerConstants.TIMESTAMP_STRICT, timestampStrict);
|
||||
messageContext.setProperty(WSHandlerConstants.TTL_TIMESTAMP, Integer.toString(validationTimeToLive));
|
||||
messageContext.setProperty(WSHandlerConstants.TTL_FUTURE_TIMESTAMP, Integer.toString(futureTimeToLive));
|
||||
|
||||
requestData.setTimeStampStrict(timestampStrict);
|
||||
requestData.setTimeStampTTL(validationTimeToLive);
|
||||
requestData.setTimeStampFutureTTL(futureTimeToLive);
|
||||
|
||||
requestData.setAllowRSA15KeyTransportAlgorithm(allowRSA15KeyTransportAlgorithm);
|
||||
|
||||
|
||||
@@ -74,6 +74,22 @@ public abstract class Wss4jMessageInterceptorTimestampTestCase extends Wss4jTest
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testValidateTimestampWithExpiredTtlCustomTtl() throws Exception {
|
||||
|
||||
assertThatExceptionOfType(WsSecurityValidationException.class).isThrownBy(() -> {
|
||||
|
||||
Wss4jSecurityInterceptor interceptor = new Wss4jSecurityInterceptor();
|
||||
interceptor.setValidationActions("Timestamp");
|
||||
interceptor.setValidationTimeToLive(1);
|
||||
interceptor.afterPropertiesSet();
|
||||
SoapMessage message = getMessageWithTimestamp();
|
||||
Thread.sleep(2000);
|
||||
MessageContext context = new DefaultMessageContext(message, getSoap11MessageFactory());
|
||||
interceptor.validateMessage(message, context);
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSecureTimestampWithCustomTtl() throws Exception {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user