[java-opensaml COMMIT] in /trunk: opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/SAMLProt...

noreply at shibboleth.net noreply at shibboleth.net
Fri Feb 28 21:44:38 EST 2014


Author: putmanb
Date: Fri Feb 28 21:44:38 2014
New Revision: 3661

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3661&view=rev
Log:
More work on OSJ-64:
Extract out SignaturePrevalidator interface.
Refactor existing classes to implement: SAML signature profile and signature whitelist/blacklist.
Add a ChainingSignaturePrevalidator impl.
Clean up couple of former callers of SAML signature profile validator.

Added:
    trunk/opensaml-xmlsec-api/src/main/java/org/opensaml/xmlsec/signature/support/SignaturePrevalidator.java   (with props)
    trunk/opensaml-xmlsec-impl/src/main/java/org/opensaml/xmlsec/signature/support/impl/ChainingSignaturePrevalidator.java   (with props)
Modified:
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/SAMLProtocolMessageXMLSignatureSecurityHandler.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilter.java
    trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/security/SAMLSignatureProfileValidator.java

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/SAMLProtocolMessageXMLSignatureSecurityHandler.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/SAMLProtocolMessageXMLSignatureSecurityHandler.java?rev=3661&r1=3660&r2=3661&view=diff
==============================================================================
--- trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/SAMLProtocolMessageXMLSignatureSecurityHandler.java (original)
+++ trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/security/SAMLProtocolMessageXMLSignatureSecurityHandler.java Fri Feb 28 21:44:38 2014
@@ -20,6 +20,8 @@
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
+import net.shibboleth.utilities.java.support.component.ComponentSupport;
+
 import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.messaging.handler.MessageHandlerException;
 import org.opensaml.saml.common.SAMLObject;
@@ -28,6 +30,7 @@
 import org.opensaml.saml.security.SAMLSignatureProfileValidator;
 import org.opensaml.xmlsec.signature.Signature;
 import org.opensaml.xmlsec.signature.support.SignatureException;
+import org.opensaml.xmlsec.signature.support.SignaturePrevalidator;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -53,36 +56,36 @@
     /** Logger. */
     @Nonnull private final Logger log = LoggerFactory.getLogger(SAMLProtocolMessageXMLSignatureSecurityHandler.class);
 
-    //TODO decide whether this should be an interface with an impl
     /** Validator for XML Signature instances. */
-    @Nullable private SAMLSignatureProfileValidator sigValidator;
+    @Nullable private SignaturePrevalidator signaturePrevalidator;
 
     /**
      * Constructor.
      * 
-     * Signature pre-validator defaults to {@link SAMLSignatureProfileValidator}.
+     * Signature prevalidator defaults to {@link SAMLSignatureProfileValidator}.
      * 
      */
     public SAMLProtocolMessageXMLSignatureSecurityHandler() {
-        setSigValidator(new SAMLSignatureProfileValidator());
+        setSignaturePrevalidator(new SAMLSignatureProfileValidator());
     }
 
     /**
-     * Get the validator for XML Signature instances.
+     * Get the prevalidator for XML Signature instances.
      * 
-     * @return Returns the sigValidator.
+     * @return Returns the prevalidator.
      */
-    @Nullable public SAMLSignatureProfileValidator getSigValidator() {
-        return sigValidator;
+    @Nullable public SignaturePrevalidator getSignaturePrevalidator() {
+        return signaturePrevalidator;
     }
 
     /**
-     * Set the validator for XML Signature instances.
+     * Set the prevalidator for XML Signature instances.
      * 
-     * @param validator The sigValidator to set.
+     * @param validator The prevalidator to set.
      */
-    public void setSigValidator(@Nullable final SAMLSignatureProfileValidator validator) {
-        sigValidator = validator;
+    public void setSignaturePrevalidator(@Nullable final SignaturePrevalidator validator) {
+        ComponentSupport.ifInitializedThrowUnmodifiabledComponentException(this);
+        signaturePrevalidator = validator;
     }
 
     /** {@inheritDoc} */
@@ -150,15 +153,6 @@
     }
 
     /**
-     * Get the validator used to perform pre-validation on Signature tokens.
-     * 
-     * @return the configured Signature validator, or null
-     */
-    @Nullable protected SAMLSignatureProfileValidator getSignaturePrevalidator() {
-        return getSigValidator();
-    }
-
-    /**
      * Perform pre-validation on the Signature token.
      * 
      * @param signature the signature to evaluate

Modified: trunk/opensaml-saml-impl/src/main/java/org/opensaml/saml/metadata/resolver/filter/impl/SignatureValidationFilter.java

[... 139 lines stripped ...]


More information about the commits mailing list