Package org.opensaml.saml.saml2.profile.impl

# Class DecryptAssertions

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.saml.saml2.profile.impl.AbstractDecryptAction
org.opensaml.saml.saml2.profile.impl.DecryptAssertions

All Implemented Interfaces:
  `Component`, `DestructableComponent`, `InitializableComponent`, `ProfileAction`

public class DecryptAssertions extends AbstractDecryptAction
Action to decrypt an `EncryptedAssertion` element and replace it with the decrypted `Assertion` in situ.

All of the built-in SAML message types that may include an `EncryptedAssertion` are potentially handled, but the actual message to handle is obtained via strategy function, by default the inbound message.

Event:
  `EventIds.PROCEED_EVENT_ID`, `SAMLEventIds.DECRYPT_ASSERTION_FAILED`

## Field Summary

Fields
Modifier and Type
Field
Description
`private final org.slf4j.Logger`
`log`
Class logger.

## Constructor Summary

Constructors
Constructor
Description
`DecryptAssertions()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doExecute(ProfileRequestContext profileRequestContext)`
Performs this action.
`private Assertion`
`processEncryptedAssertion(ProfileRequestContext profileRequestContext, EncryptedAssertion encAssert)`
Decrypt an `EncryptedAssertion` and return the result.
`private void`
`processResponse(ProfileRequestContext profileRequestContext, Response response)`
Decrypt any `EncryptedAssertion` found in a response and replace it with the result.

### Methods inherited from class org.opensaml.saml.saml2.profile.impl.AbstractDecryptAction

`doPreExecute, getDecrypter, getDecryptionPredicate, getSAMLObject, isErrorFatal, setDecryptionPredicate, setErrorFatal, setMessageLookupStrategy, setSecurityParametersContextLookupStrategy`

### Methods inherited from class org.opensaml.profile.action.AbstractProfileAction

`doPostExecute, doPostExecute, ensureHttpServletRequest, ensureHttpServletResponse, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, isPreExecuteCalled, setHttpServletRequestSupplier, setHttpServletResponseSupplier`

### Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, doInitialize, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitialized`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface net.shibboleth.shared.component.InitializableComponent

`initialize, isInitialized`

## Field Details

### log

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

## Constructor Details

### DecryptAssertions

public DecryptAssertions()

## Method Details

### doExecute

protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)
Performs this action. Actions must override this method to perform their work.

Overrides:
  `doExecute` in class `AbstractProfileAction`
Parameters:
  `profileRequestContext` - the current IdP profile request context

### processEncryptedAssertion

@Nullable private Assertion processEncryptedAssertion(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull EncryptedAssertion encAssert) throws DecryptionException
Decrypt an `EncryptedAssertion` and return the result.

Parameters:
  `profileRequestContext` - current profile request context
  `encAssert` - the encrypted object
Returns:
  the decrypted assertion, or null if the object did not need decryption
Throws:
  `DecryptionException` - if an error occurs during decryption

### processResponse

private void processResponse(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull Response response) throws DecryptionException
Decrypt any `EncryptedAssertion` found in a response and replace it with the result.

Parameters:
  `profileRequestContext` - current profile request context
  `response` - response to operate on
Throws:
  `DecryptionException` - if an error occurs