Fixed #SWS-55: NullPointException thrown when validating nonce without expiration
This commit is contained in:
@@ -36,13 +36,13 @@ public class DefaultTimestampValidator implements TimestampValidationCallback.Ti
|
||||
throws TimestampValidationCallback.TimestampValidationException {
|
||||
if (request instanceof TimestampValidationCallback.UTCTimestampRequest) {
|
||||
TimestampValidationCallback.UTCTimestampRequest utcRequest =
|
||||
((TimestampValidationCallback.UTCTimestampRequest) request);
|
||||
(TimestampValidationCallback.UTCTimestampRequest) request;
|
||||
Date created = parseDate(utcRequest.getCreated());
|
||||
Date expired = parseDate(utcRequest.getExpired());
|
||||
|
||||
validateCreationTime(created, utcRequest.getMaxClockSkew(), utcRequest.getTimestampFreshnessLimit());
|
||||
|
||||
if (expired != null) {
|
||||
if (utcRequest.getExpired() != null) {
|
||||
Date expired = parseDate(utcRequest.getExpired());
|
||||
validateExpirationTime(expired, utcRequest.getMaxClockSkew());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package org.springframework.ws.soap.security.xwss.callback;
|
||||
|
||||
import com.sun.xml.wss.impl.callback.TimestampValidationCallback;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class DefaultTimestampValidatorTest extends TestCase {
|
||||
|
||||
private DefaultTimestampValidator validator;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
validator = new DefaultTimestampValidator();
|
||||
}
|
||||
|
||||
public void testValidate() throws Exception {
|
||||
TimestampValidationCallback.Request request = new TimestampValidationCallback.UTCTimestampRequest(
|
||||
"2006-09-25T20:42:50Z", "2107-09-25T20:42:50Z", 100, Long.MAX_VALUE);
|
||||
validator.validate(request);
|
||||
}
|
||||
|
||||
public void testValidateNoExpired() throws Exception {
|
||||
TimestampValidationCallback.Request request =
|
||||
new TimestampValidationCallback.UTCTimestampRequest("2006-09-25T20:42:50Z", null, 100, Long.MAX_VALUE);
|
||||
validator.validate(request);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user