Author: coheigea
Date: Mon Feb 28 15:55:04 2011
New Revision: 1075392
URL: http://svn.apache.org/viewvc?rev=1075392&view=rev
Log:
[WSS-266] - Changed the validate method signature to return a Credential, for
the case of when an authenticated credential is transformed.
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/Credential.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/NoOpValidator.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/SamlAssertionValidator.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/SignatureTrustValidator.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/TimestampValidator.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/UsernameTokenValidator.java
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/Validator.java
webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/token/BSTKerberosTest.java
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/Credential.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/Credential.java?rev=1075392&r1=1075391&r2=1075392&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/Credential.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/Credential.java
Mon Feb 28 15:55:04 2011
@@ -29,9 +29,9 @@ import org.apache.ws.security.message.to
import org.apache.ws.security.saml.ext.AssertionWrapper;
/**
- * This class stores various Credential types that have to be validated by a
Validator
- * implementation. It also stores an optional Principal object which can
provide context
- * information to the validators.
+ * This class stores various Credential types that can be validated and/or
returned by a
+ * Validator implementation. It also stores an optional Principal object which
can provide
+ * context information to the validators.
*/
public class Credential {
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/NoOpValidator.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/NoOpValidator.java?rev=1075392&r1=1075391&r2=1075392&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/NoOpValidator.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/NoOpValidator.java
Mon Feb 28 15:55:04 2011
@@ -36,8 +36,8 @@ public class NoOpValidator implements Va
* @param credential the Credential to be validated
* @throws WSSecurityException on a failed validation
*/
- public void validate(Credential credential) throws WSSecurityException {
- //
+ public Credential validate(Credential credential) throws
WSSecurityException {
+ return credential;
}
/**
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/SamlAssertionValidator.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/SamlAssertionValidator.java?rev=1075392&r1=1075391&r2=1075392&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/SamlAssertionValidator.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/SamlAssertionValidator.java
Mon Feb 28 15:55:04 2011
@@ -42,7 +42,7 @@ public class SamlAssertionValidator exte
* @param credential the Credential to be validated
* @throws WSSecurityException on a failed validation
*/
- public void validate(Credential credential) throws WSSecurityException {
+ public Credential validate(Credential credential) throws
WSSecurityException {
if (credential == null || credential.getAssertion() == null) {
throw new WSSecurityException(WSSecurityException.FAILURE,
"noCredential");
}
@@ -72,6 +72,7 @@ public class SamlAssertionValidator exte
trustCredential.setCertificates(samlKeyInfo.getCerts());
super.validate(trustCredential);
}
+ return credential;
}
}
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/SignatureTrustValidator.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/SignatureTrustValidator.java?rev=1075392&r1=1075391&r2=1075392&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/SignatureTrustValidator.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/SignatureTrustValidator.java
Mon Feb 28 15:55:04 2011
@@ -53,7 +53,7 @@ public class SignatureTrustValidator imp
* @param credential the Credential to be validated
* @throws WSSecurityException on a failed validation
*/
- public void validate(Credential credential) throws WSSecurityException {
+ public Credential validate(Credential credential) throws
WSSecurityException {
if (credential == null) {
throw new WSSecurityException(WSSecurityException.FAILURE,
"noCredential");
}
@@ -72,13 +72,13 @@ public class SignatureTrustValidator imp
trust = verifyTrustInCerts(certs);
}
if (trust) {
- return;
+ return credential;
}
}
if (publicKey != null) {
boolean trust = validatePublicKey(publicKey);
if (trust) {
- return;
+ return credential;
}
}
throw new
WSSecurityException(WSSecurityException.FAILED_AUTHENTICATION);
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/TimestampValidator.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/TimestampValidator.java?rev=1075392&r1=1075391&r2=1075392&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/TimestampValidator.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/TimestampValidator.java
Mon Feb 28 15:55:04 2011
@@ -40,7 +40,7 @@ public class TimestampValidator implemen
* @param credential the Credential to be validated
* @throws WSSecurityException on a failed validation
*/
- public void validate(Credential credential) throws WSSecurityException {
+ public Credential validate(Credential credential) throws
WSSecurityException {
if (credential == null || credential.getTimestamp() == null) {
throw new WSSecurityException(WSSecurityException.FAILURE,
"noCredential");
}
@@ -65,6 +65,7 @@ public class TimestampValidator implemen
new Object[] {"The security semantics of the message have
expired"}
);
}
+ return credential;
}
/**
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/UsernameTokenValidator.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/UsernameTokenValidator.java?rev=1075392&r1=1075391&r2=1075392&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/UsernameTokenValidator.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/UsernameTokenValidator.java
Mon Feb 28 15:55:04 2011
@@ -59,7 +59,7 @@ public class UsernameTokenValidator impl
* @param credential the Credential to be validated
* @throws WSSecurityException on a failed validation
*/
- public void validate(Credential credential) throws WSSecurityException {
+ public Credential validate(Credential credential) throws
WSSecurityException {
if (credential == null || credential.getUsernametoken() == null) {
throw new WSSecurityException(WSSecurityException.FAILURE,
"noCredential");
}
@@ -112,6 +112,7 @@ public class UsernameTokenValidator impl
} else {
verifyUnknownPassword(usernameToken);
}
+ return credential;
}
/**
Modified:
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/Validator.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/Validator.java?rev=1075392&r1=1075391&r2=1075392&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/Validator.java
(original)
+++
webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/Validator.java
Mon Feb 28 15:55:04 2011
@@ -32,11 +32,15 @@ import org.apache.ws.security.components
public interface Validator {
/**
- * Validate the credential argument.
+ * Validate the credential argument. This method returns a Credential
instance that
+ * represents the validated credential. This instance can be the same as
the instance
+ * that was validated, or it can represent some transformation of the
initial Credential
+ * instance.
* @param credential the Credential to be validated
+ * @return a validated Credential
* @throws WSSecurityException on a failed validation
*/
- public void validate(Credential credential) throws WSSecurityException;
+ public Credential validate(Credential credential) throws
WSSecurityException;
/**
* Set a Crypto instance used to validate credentials
Modified:
webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/token/BSTKerberosTest.java
URL:
http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/token/BSTKerberosTest.java?rev=1075392&r1=1075391&r2=1075392&view=diff
==============================================================================
---
webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/token/BSTKerberosTest.java
(original)
+++
webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/token/BSTKerberosTest.java
Mon Feb 28 15:55:04 2011
@@ -262,7 +262,7 @@ public class BSTKerberosTest extends org
*/
private static class KerberosValidator implements Validator {
- public void validate(Credential credential) throws WSSecurityException
{
+ public Credential validate(Credential credential) throws
WSSecurityException {
BinarySecurity token = credential.getBinarySecurityToken();
if (token == null) {
throw new WSSecurityException(WSSecurityException.FAILURE);
@@ -276,6 +276,7 @@ public class BSTKerberosTest extends org
if (!Arrays.equals(tokenBytes, "12345678".getBytes())) {
throw new
WSSecurityException(WSSecurityException.FAILED_AUTHENTICATION);
}
+ return credential;
}
public void setCrypto(Crypto crypto) {