Fixed #SWS-55: NullPointException thrown when validating nonce without expiration

This commit is contained in:
Arjen Poutsma
2006-10-01 20:17:13 +00:00
parent 751f270e72
commit c739c161ae
2 changed files with 28 additions and 3 deletions

View File

@@ -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());
}
}

View File

@@ -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);
}
}