Class EncryptAttributes

  • 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.profile.action.ProfileAction

    public class EncryptAttributes
    extends AbstractEncryptAction
    Action that encrypts all attributes in a Response message obtained from a lookup strategy, by default the outbound message context.
    Event:
    EventIds.PROCEED_EVENT_ID, EventIds.UNABLE_TO_ENCRYPT
    Postcondition:
    All SAML attributes in any given statement in the response have been replaced with encrypted versions, or no changes are made to that statement. It's possible for some statements to be modified but others not if an error occurs.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private org.slf4j.Logger log
      Class logger.
      private org.opensaml.saml.saml2.core.Response response
      The message to operate on.
      private Function<org.opensaml.profile.context.ProfileRequestContext,​org.opensaml.saml.saml2.core.StatusResponseType> responseLookupStrategy
      Strategy used to locate the StatusResponseType to operate on.
    • Constructor Summary

      Constructors 
      Constructor Description
      EncryptAttributes()
      Constructor.
    • Field Detail

      • log

        @Nonnull
        private final org.slf4j.Logger log
        Class logger.
      • responseLookupStrategy

        @Nonnull
        private Function<org.opensaml.profile.context.ProfileRequestContext,​org.opensaml.saml.saml2.core.StatusResponseType> responseLookupStrategy
        Strategy used to locate the StatusResponseType to operate on.
      • response

        @Nullable
        private org.opensaml.saml.saml2.core.Response response
        The message to operate on.
    • Constructor Detail

      • EncryptAttributes

        public EncryptAttributes()
        Constructor.
    • Method Detail

      • setResponseLookupStrategy

        public void setResponseLookupStrategy​(@Nonnull
                                              Function<org.opensaml.profile.context.ProfileRequestContext,​org.opensaml.saml.saml2.core.StatusResponseType> strategy)
        Set the strategy used to locate the Response to operate on.
        Parameters:
        strategy - strategy used to locate the Response to operate on
      • getApplicableParameters

        @Nullable
        protected org.opensaml.xmlsec.EncryptionParameters getApplicableParameters​(@Nullable
                                                                                   org.opensaml.saml.saml2.profile.context.EncryptionContext ctx)
        Return the right set of parameters for the operation to be performed, or none if no encryption should occur.
        Specified by:
        getApplicableParameters in class AbstractEncryptAction
        Parameters:
        ctx - possibly null input context to pull parameters from
        Returns:
        the right parameter set, or null for none
      • doPreExecute

        protected boolean doPreExecute​(@Nonnull
                                       org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
        Overrides:
        doPreExecute in class AbstractEncryptAction
      • doExecute

        protected void doExecute​(@Nonnull
                                 org.opensaml.profile.context.ProfileRequestContext profileRequestContext)
        Overrides:
        doExecute in class org.opensaml.profile.action.AbstractProfileAction