Class AgreementMethodKeyInfoProvider
java.lang.Object
org.opensaml.xmlsec.keyinfo.impl.provider.AbstractKeyInfoProvider
org.opensaml.xmlsec.keyinfo.impl.provider.AgreementMethodKeyInfoProvider
- All Implemented Interfaces:
KeyInfoProvider
Implementation of
KeyInfoProvider
which supports AgreementMethod
.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.slf4j.Logger
Logger.private final KeyAgreementParametersParser
Parser for AgreementMethod parameters. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Evaluate whether the given provider should attempt to handle resolving a credential from the specified KeyInfo child.process
(KeyInfoCredentialResolver resolver, XMLObject keyInfoChild, CriteriaSet criteriaSet, KeyInfoResolutionContext kiContext) Process a specified KeyInfo child (XMLobject) and attempt to resolve a credential from it.private String
resolveKeyAlgorithm
(AgreementMethod agreementMethod) Resolve the encryption algorithm URI to be used with the derived key.private Credential
resolveOriginatorCredential
(AgreementMethod agreementMethod, KeyInfoCredentialResolver resolver) Resolve the originatorCredential
from theOriginatorKeyInfo
element.private Credential
resolveRecipientCredential
(AgreementMethod agreementMethod, KeyInfoCredentialResolver resolver) Resolve the recipientCredential
from theRecipientKeyInfo
element.Methods inherited from class org.opensaml.xmlsec.keyinfo.impl.provider.AbstractKeyInfoProvider
buildCredentialContext, extractKeyValue
-
Field Details
-
log
private final org.slf4j.Logger logLogger. -
parametersParser
Parser for AgreementMethod parameters.
-
-
Constructor Details
-
AgreementMethodKeyInfoProvider
public AgreementMethodKeyInfoProvider()
-
-
Method Details
-
handles
Evaluate whether the given provider should attempt to handle resolving a credential from the specified KeyInfo child. An evaluation oftrue
does not guarantee that a credential can or will be extracted form the particular KeyInfo child, only that processing should be attempted.- Parameters:
keyInfoChild
- the KeyInfo child object to consider- Returns:
- true if the provider should attempt to resolve credentials, false otherwise
-
process
@Nullable public Collection<Credential> process(@Nonnull KeyInfoCredentialResolver resolver, @Nonnull XMLObject keyInfoChild, @Nullable CriteriaSet criteriaSet, @Nonnull KeyInfoResolutionContext kiContext) throws SecurityException Process a specified KeyInfo child (XMLobject) and attempt to resolve a credential from it.- Parameters:
resolver
- reference to a resolver which is calling the providerkeyInfoChild
- the KeyInfo child being processedcriteriaSet
- the credential criteria the credential must satisfykiContext
- the resolution context, used for sharing state amongst resolvers and providers- Returns:
- a resolved Credential collection, or null
- Throws:
SecurityException
- if there is an error during credential resolution. Note: failure to resolve a credential is not an error.
-
resolveKeyAlgorithm
@Nonnull private String resolveKeyAlgorithm(@Nonnull AgreementMethod agreementMethod) throws SecurityException Resolve the encryption algorithm URI to be used with the derived key.This comes from the AgreementMethod's grandparent's EncryptionMethod child element.
- Parameters:
agreementMethod
- the AgreementMethod to process- Returns:
- the encryption algorithm URI
- Throws:
SecurityException
- if the algorithm URI can not be resolved
-
resolveOriginatorCredential
@Nonnull private Credential resolveOriginatorCredential(@Nonnull AgreementMethod agreementMethod, @Nonnull KeyInfoCredentialResolver resolver) throws SecurityException Resolve the originatorCredential
from theOriginatorKeyInfo
element.This will be the public key credential from the encrypting party.
- Parameters:
agreementMethod
- the AgreementMethod to processresolver
- the KeyInfoCredentialResolver to use- Returns:
- the originator credential
- Throws:
SecurityException
- if the originator credential can not be resolved
-
resolveRecipientCredential
@Nonnull private Credential resolveRecipientCredential(@Nonnull AgreementMethod agreementMethod, @Nonnull KeyInfoCredentialResolver resolver) throws SecurityException Resolve the recipientCredential
from theRecipientKeyInfo
element.This will be the private key credential from the decrypting party (this party).
- Parameters:
agreementMethod
- the AgreementMethod to processresolver
- the KeyInfoCredentialResolver to use- Returns:
- the recipient credential
- Throws:
SecurityException
- if the recipient credential can not be resolved or does not contain a private key
-