Class PopulateECPContext
- 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.PopulateECPContext
-
- 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 PopulateECPContext extends org.opensaml.profile.action.AbstractConditionalProfileActionAction to create and populate anECPContextbased on the request and, when encryption is in use, generating a session key.- Event:
EventIds.PROCEED_EVENT_ID,EventIds.INVALID_MSG_CTX
-
-
Field Summary
Fields Modifier and Type Field Description private Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.common.messaging.context.ECPContext>ecpContextCreationStrategyStrategy used to locate theECPContextto populate.private Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.saml2.profile.context.EncryptionContext>encryptionContextLookupStrategyStrategy used to locate theEncryptionContext.private org.slf4j.LoggerlogClass logger.private SecureRandomrandomGeneratorRandom number generator.private booleanrequireEncryptionOnly generate a key if encryption is expected.
-
Constructor Summary
Constructors Constructor Description PopulateECPContext()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoExecute(org.opensaml.profile.context.ProfileRequestContext profileRequestContext)voidsetECPContextCreationStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.common.messaging.context.ECPContext> strategy)Set the strategy used to locate theECPContextto operate on.voidsetEncryptionContextLookupStrategy(Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.saml2.profile.context.EncryptionContext> strategy)Set the strategy used to locate theEncryptionContext.voidsetRandomGenerator(SecureRandom generator)Set the source of randomness to use, or none to bypass key generation.voidsetRequireEncryption(boolean flag)Set whether to require assertion encryption or skip session key generation.-
Methods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction
doPreExecute, getActivationCondition, setActivationCondition
-
Methods inherited from class org.opensaml.profile.action.AbstractProfileAction
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.
-
ecpContextCreationStrategy
@Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.common.messaging.context.ECPContext> ecpContextCreationStrategy
Strategy used to locate theECPContextto populate.
-
encryptionContextLookupStrategy
@Nonnull private Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.saml2.profile.context.EncryptionContext> encryptionContextLookupStrategy
Strategy used to locate theEncryptionContext.
-
randomGenerator
@Nullable private SecureRandom randomGenerator
Random number generator.
-
requireEncryption
private boolean requireEncryption
Only generate a key if encryption is expected.
-
-
Constructor Detail
-
PopulateECPContext
public PopulateECPContext() throws NoSuchAlgorithmExceptionConstructor.- Throws:
NoSuchAlgorithmException- if unable to construct default random generator
-
-
Method Detail
-
setECPContextCreationStrategy
public void setECPContextCreationStrategy(@Nonnull Function<org.opensaml.profile.context.ProfileRequestContext,org.opensaml.saml.common.messaging.context.ECPContext> strategy)Set the strategy used to locate theECPContextto operate on.- Parameters:
strategy- lookup strategy
-
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 theEncryptionContext.- Parameters:
strategy- lookup strategy
-
setRandomGenerator
public void setRandomGenerator(@Nullable SecureRandom generator)Set the source of randomness to use, or none to bypass key generation.- Parameters:
generator- random number generator
-
setRequireEncryption
public void setRequireEncryption(boolean flag)
Set whether to require assertion encryption or skip session key generation.- Parameters:
flag- flag to set
-
doExecute
protected void doExecute(@Nonnull org.opensaml.profile.context.ProfileRequestContext profileRequestContext)- Overrides:
doExecutein classorg.opensaml.profile.action.AbstractProfileAction
-
-