Class AbstractEncryptAction
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- org.opensaml.profile.action.AbstractProfileAction
-
- org.opensaml.profile.action.AbstractConditionalProfileAction
-
- org.opensaml.saml.saml2.profile.impl.AbstractEncryptAction
-
- 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
- Direct Known Subclasses:
EncryptAssertions,EncryptAttributes,EncryptNameIDs
public abstract class AbstractEncryptAction extends org.opensaml.profile.action.AbstractConditionalProfileActionAbstract base class for actions that perform simple unicast SAML encryption to a single decrypting party.The
EncryptionContextgoverning the encryption process is located by a lookup strategy, by default a child of the outbound message context.An optional recipient name is also obtained from a lookup strategy.
-
-
Field Summary
Fields Modifier and Type Field Description private org.opensaml.saml.saml2.encryption.EncrypterencrypterThe encryption object.private Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.saml2.profile.context.EncryptionContext>encryptionCtxLookupStrategyStrategy used to locate theEncryptionContext.private Predicate<org.opensaml.profile.context.ProfileRequestContext>encryptToSelfPredicate used to determine whether to perform encrypt-to-self.private Function<net.shibboleth.utilities.java.support.collection.Pair<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.xmlsec.EncryptionParameters>,List<org.opensaml.xmlsec.EncryptionParameters>>encryptToSelfParametersStrategyStrategy used to resolve the encrypt-to-self parameters.private Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.saml2.encryption.Encrypter.KeyPlacement>keyPlacementLookupStrategyStrategy used to determine encrypted key placement.private org.slf4j.LoggerlogClass logger.private Function<org.opensaml.profile.context.ProfileRequestContext,String>recipientLookupStrategyStrategy used to locate the encryption recipient.private Function<org.opensaml.profile.context.ProfileRequestContext,String>selfRecipientLookupStrategyStrategy used to obtain the self recipient value.
-
Constructor Summary
Constructors Constructor Description AbstractEncryptAction()Constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected booleandoPreExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext)protected abstract org.opensaml.xmlsec.EncryptionParametersgetApplicableParameters(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.org.opensaml.saml.saml2.encryption.EncryptergetEncrypter()Get the encrypter.voidsetEncryptionContextLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.saml2.profile.context.EncryptionContext> strategy)Set the strategy used to locate theEncryptionContextassociated with a givenProfileRequestContext.voidsetEncryptToSelf(Predicate<org.opensaml.profile.context.ProfileRequestContext> predicate)Set the predicate used to determine whether to perform encrypt-to-self.voidsetEncryptToSelfParametersStrategy(Function<net.shibboleth.utilities.java.support.collection.Pair<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.xmlsec.EncryptionParameters>,List<org.opensaml.xmlsec.EncryptionParameters>> strategy)Set the strategy used to resolve the encrypt-to-self parameters.voidsetKeyPlacementLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.saml2.encryption.Encrypter.KeyPlacement> strategy)Set the strategy used to determine the encrypted key placement strategy.voidsetRecipientLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,String> strategy)Set the strategy used to locate the encryption recipient.voidsetSelfRecipientLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,String> strategy)Set the strategy used to locate the self identity value to use.-
Methods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction
getActivationCondition, setActivationCondition
-
Methods inherited from class org.opensaml.profile.action.AbstractProfileAction
doExecute, doPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletResponse, getLogPrefix, setHttpServletRequest, setHttpServletResponse
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, doInitialize, initialize, isDestroyed, isInitialized
-
-
-
-
Field Detail
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
encryptionCtxLookupStrategy
@Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.saml2.profile.context.EncryptionContext> encryptionCtxLookupStrategy
Strategy used to locate theEncryptionContext.
-
recipientLookupStrategy
@Nullable private Function<org.opensaml.profile.context.ProfileRequestContext,String> recipientLookupStrategy
Strategy used to locate the encryption recipient.
-
keyPlacementLookupStrategy
@Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.saml2.encryption.Encrypter.KeyPlacement> keyPlacementLookupStrategy
Strategy used to determine encrypted key placement.
-
encryptToSelf
@Nonnull private Predicate<org.opensaml.profile.context.ProfileRequestContext> encryptToSelf
Predicate used to determine whether to perform encrypt-to-self.
-
encryptToSelfParametersStrategy
@Nullable private Function<net.shibboleth.utilities.java.support.collection.Pair<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.xmlsec.EncryptionParameters>,List<org.opensaml.xmlsec.EncryptionParameters>> encryptToSelfParametersStrategy
Strategy used to resolve the encrypt-to-self parameters.
-
selfRecipientLookupStrategy
@Nullable private Function<org.opensaml.profile.context.ProfileRequestContext,String> selfRecipientLookupStrategy
Strategy used to obtain the self recipient value.
-
encrypter
@Nullable private org.opensaml.saml.saml2.encryption.Encrypter encrypter
The encryption object.
-
-
Method Detail
-
setEncryptionContextLookupStrategy
public void setEncryptionContextLookupStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.saml2.profile.context.EncryptionContext> strategy)Set the strategy used to locate theEncryptionContextassociated with a givenProfileRequestContext.- Parameters:
strategy- lookup strategy
-
setRecipientLookupStrategy
public void setRecipientLookupStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,String> strategy)Set the strategy used to locate the encryption recipient.- Parameters:
strategy- lookup strategy
-
setKeyPlacementLookupStrategy
public void setKeyPlacementLookupStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.saml2.encryption.Encrypter.KeyPlacement> strategy)Set the strategy used to determine the encrypted key placement strategy.- Parameters:
strategy- lookup strategy
-
setEncryptToSelf
public void setEncryptToSelf(@Nonnull Predicate<org.opensaml.profile.context.ProfileRequestContext> predicate)Set the predicate used to determine whether to perform encrypt-to-self.- Parameters:
predicate- the encrypt-to-self predicate
-
setEncryptToSelfParametersStrategy
public void setEncryptToSelfParametersStrategy(@Nullable Function<net.shibboleth.utilities.java.support.collection.Pair<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.xmlsec.EncryptionParameters>,List<org.opensaml.xmlsec.EncryptionParameters>> strategy)Set the strategy used to resolve the encrypt-to-self parameters.- Parameters:
strategy- the encrypt-to-self predicate
-
setSelfRecipientLookupStrategy
public void setSelfRecipientLookupStrategy(@Nullable Function<org.opensaml.profile.context.ProfileRequestContext,String> strategy)Set the strategy used to locate the self identity value to use.- Parameters:
strategy- lookup strategy
-
getEncrypter
@Nullable public org.opensaml.saml.saml2.encryption.Encrypter getEncrypter()
Get the encrypter.- Returns:
- the encrypter
-
doPreExecute
protected boolean doPreExecute(@Nonnull org.opensaml.profile.context.ProfileRequestContext profileRequestContext)- Overrides:
doPreExecutein classorg.opensaml.profile.action.AbstractConditionalProfileAction
-
getApplicableParameters
@Nullable protected abstract 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.- Parameters:
ctx- possibly null input context to pull parameters from- Returns:
- the right parameter set, or null for none
-
-