[java-opensaml COMMIT] in /trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl: ...

noreply at shibboleth.net noreply at shibboleth.net
Tue Jun 23 21:09:59 EDT 2015


Author: putmanb
Date: Tue Jun 23 21:09:59 2015
New Revision: 4311

URL: http://svn.shibboleth.net/view/java-opensaml?rev=4311&view=rev
Log:
Refactor construction of assertion ValidationContext to a pluggable function, with a default impl.
Fix up TODOs regarding SOAP fault handling.

Added:
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/DefaultSAML20AssertionValidationContextBuilder.java   (with props)
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/SAML20AssertionTokenValidationInput.java   (with props)
Modified:
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandler.java

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandler.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandler.java?rev=4311&r1=4310&r2=4311&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandler.java	(original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/wssecurity/messaging/impl/WSSecuritySAML20AssertionTokenSecurityHandler.java	Tue Jun 23 21:09:59 2015
@@ -17,15 +17,8 @@
 
 package org.opensaml.saml.saml2.wssecurity.messaging.impl;
 
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.security.cert.X509Certificate;
-import java.util.Arrays;
 import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
@@ -33,15 +26,10 @@
 
 import net.shibboleth.utilities.java.support.annotation.constraint.NonnullAfterInit;
 import net.shibboleth.utilities.java.support.collection.LazyList;
-import net.shibboleth.utilities.java.support.collection.LazySet;
-import net.shibboleth.utilities.java.support.collection.Pair;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.component.ComponentSupport;
 import net.shibboleth.utilities.java.support.logic.Constraint;
-import net.shibboleth.utilities.java.support.primitive.StringSupport;
-import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
-
-import org.opensaml.core.criterion.EntityIdCriterion;
+
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.messaging.handler.AbstractMessageHandler;
@@ -54,13 +42,10 @@
 import org.opensaml.saml.saml2.core.Assertion;
 import org.opensaml.saml.saml2.core.SubjectConfirmation;
 import org.opensaml.saml.saml2.wssecurity.SAML20AssertionToken;
-import org.opensaml.security.SecurityException;
-import org.opensaml.security.credential.UsageType;
-import org.opensaml.security.criteria.UsageCriterion;
-import org.opensaml.security.messaging.ServletRequestX509CredentialAdapter;
-import org.opensaml.security.x509.X509Credential;
 import org.opensaml.soap.messaging.SOAPMessagingSupport;
+import org.opensaml.soap.soap11.FaultCode;
 import org.opensaml.soap.wssecurity.Security;
+import org.opensaml.soap.wssecurity.WSSecurityConstants;
 import org.opensaml.soap.wssecurity.messaging.Token.ValidationStatus;
 import org.opensaml.soap.wssecurity.messaging.WSSecurityContext;
 import org.slf4j.Logger;
@@ -88,41 +73,53 @@
     /** The SAML 2.0 Assertion validator.*/
     private SAML20AssertionValidator assertionValidator;
     
-    /** A function for resolving the signature validation CriteriaSet for a particular function. */
-    private Function<Pair<MessageContext, Assertion>, CriteriaSet> signatureCriteriaSetFunction;
+    /** Function that builds a {@link ValidationContext} instance based on a 
+     * {@link SAML20AssertionTokenValidationInput} instance. */
+    private Function<SAML20AssertionTokenValidationInput, ValidationContext> validationContextBuilder;
     
     
     /** Constructor. */
     public WSSecuritySAML20AssertionTokenSecurityHandler() {
         super();
         setInvalidFatal(true);
-    }
-    
-    /**
-     * Get the function for resolving the signature validation CriteriaSet for a particular function.
-     * 
-     * @return a criteria set instance, or null
-     */
-    @Nullable public Function<Pair<MessageContext, Assertion>, CriteriaSet> getSignatureCriteriaSetFunction() {
-        return signatureCriteriaSetFunction;
-    }
-
-    /**
-     * Set the function for resolving the signature validation CriteriaSet for a particular function.
-     * 
-     * @param function the resolving function, may be null
-     */
-    public void setSignatureCriteriaSetFunction(
-            @Nullable final Function<Pair<MessageContext, Assertion>, CriteriaSet> function) {

[... 365 lines stripped ...]


More information about the commits mailing list