Class SAMLMDClientCertAuthSecurityHandler

  • All Implemented Interfaces:
    net.shibboleth.utilities.java.support.component.Component, net.shibboleth.utilities.java.support.component.DestructableComponent, net.shibboleth.utilities.java.support.component.InitializableComponent, org.opensaml.messaging.handler.MessageHandler

    public class SAMLMDClientCertAuthSecurityHandler
    extends org.opensaml.security.messaging.impl.BaseClientCertAuthSecurityHandler
    SAML specialization of BaseClientCertAuthSecurityHandler which provides support for X509Credential trust engine validation based on SAML metadata.

    The authenticatable entity data is read from and stored to the subcontext identified by getEntityContextClass(), which defaults to SAMLPeerEntityContext.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private Class<? extends org.opensaml.saml.common.messaging.context.AbstractAuthenticatableSAMLEntityContext> entityContextClass
      The actual context class holding the authenticatable SAML entity.
      private org.slf4j.Logger log
      Logger.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected net.shibboleth.utilities.java.support.resolver.CriteriaSet buildCriteriaSet​(String entityID, org.opensaml.messaging.context.MessageContext messageContext)
      protected String getCertificatePresenterEntityID​(org.opensaml.messaging.context.MessageContext messageContext)
      Class<? extends org.opensaml.saml.common.messaging.context.AbstractAuthenticatableSAMLEntityContext> getEntityContextClass()
      Get the class type holding the authenticatable SAML entity data.
      protected void setAuthenticatedCertificatePresenterEntityID​(org.opensaml.messaging.context.MessageContext messageContext, String entityID)
      protected void setAuthenticatedState​(org.opensaml.messaging.context.MessageContext messageContext, boolean authenticated)
      void setEntityContextClass​(Class<? extends org.opensaml.saml.common.messaging.context.AbstractAuthenticatableSAMLEntityContext> clazz)
      Set the class type holding the authenticatable SAML entity data.
      • Methods inherited from class org.opensaml.security.messaging.impl.BaseClientCertAuthSecurityHandler

        doEvaluate, doInitialize, doInvoke, doPreInvoke, evaluateCertificateNameDerivedPresenters, evaluateDerivedPresenters, evaluateSubjectAltNames, evaluateSubjectCommonName, evaluateSubjectDN, getAltNames, getCertificateNameOptions, getCommonName, getHttpServletRequest, getSubjectName, resolveTrustEngine, setHttpServletRequest
      • Methods inherited from class org.opensaml.security.messaging.impl.BaseTrustEngineSecurityHandler

        evaluate, evaluate, getTrustEngine
      • Methods inherited from class org.opensaml.messaging.handler.AbstractMessageHandler

        doPostInvoke, doPostInvoke, getActivationCondition, getLogPrefix, invoke, setActivationCondition
      • Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent

        destroy, doDestroy, initialize, isDestroyed, isInitialized
      • Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent

        initialize, isInitialized
    • Field Detail

      • log

        private org.slf4j.Logger log
        Logger.
      • entityContextClass

        private Class<? extends org.opensaml.saml.common.messaging.context.AbstractAuthenticatableSAMLEntityContext> entityContextClass
        The actual context class holding the authenticatable SAML entity.
    • Constructor Detail

      • SAMLMDClientCertAuthSecurityHandler

        public SAMLMDClientCertAuthSecurityHandler()
        Constructor.
    • Method Detail

      • getEntityContextClass

        @Nonnull
        public Class<? extends org.opensaml.saml.common.messaging.context.AbstractAuthenticatableSAMLEntityContext> getEntityContextClass()
        Get the class type holding the authenticatable SAML entity data.

        Defaults to: SAMLPeerEntityContext.

        Returns:
        the entity context class type
      • setEntityContextClass

        public void setEntityContextClass​(@Nonnull
                                          Class<? extends org.opensaml.saml.common.messaging.context.AbstractAuthenticatableSAMLEntityContext> clazz)
        Set the class type holding the authenticatable SAML entity data.

        Defaults to: SAMLPeerEntityContext.

        Parameters:
        clazz - the entity context class type
      • buildCriteriaSet

        @Nonnull
        protected net.shibboleth.utilities.java.support.resolver.CriteriaSet buildCriteriaSet​(@Nullable
                                                                                              String entityID,
                                                                                              @Nonnull
                                                                                              org.opensaml.messaging.context.MessageContext messageContext)
                                                                                       throws org.opensaml.messaging.handler.MessageHandlerException
        Overrides:
        buildCriteriaSet in class org.opensaml.security.messaging.impl.BaseClientCertAuthSecurityHandler
        Throws:
        org.opensaml.messaging.handler.MessageHandlerException
      • getCertificatePresenterEntityID

        @Nullable
        protected String getCertificatePresenterEntityID​(@Nonnull
                                                         org.opensaml.messaging.context.MessageContext messageContext)
        Specified by:
        getCertificatePresenterEntityID in class org.opensaml.security.messaging.impl.BaseClientCertAuthSecurityHandler
      • setAuthenticatedCertificatePresenterEntityID

        protected void setAuthenticatedCertificatePresenterEntityID​(@Nonnull
                                                                    org.opensaml.messaging.context.MessageContext messageContext,
                                                                    @Nullable
                                                                    String entityID)
        Specified by:
        setAuthenticatedCertificatePresenterEntityID in class org.opensaml.security.messaging.impl.BaseClientCertAuthSecurityHandler
      • setAuthenticatedState

        protected void setAuthenticatedState​(@Nonnull
                                             org.opensaml.messaging.context.MessageContext messageContext,
                                             boolean authenticated)
        Specified by:
        setAuthenticatedState in class org.opensaml.security.messaging.impl.BaseClientCertAuthSecurityHandler