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.LoggerLogger.private final KeyAgreementParametersParserParser for AgreementMethod parameters. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanEvaluate 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 StringresolveKeyAlgorithm(AgreementMethod agreementMethod) Resolve the encryption algorithm URI to be used with the derived key.private CredentialresolveOriginatorCredential(AgreementMethod agreementMethod, KeyInfoCredentialResolver resolver) Resolve the originatorCredentialfrom theOriginatorKeyInfoelement.private CredentialresolveRecipientCredential(AgreementMethod agreementMethod, KeyInfoCredentialResolver resolver) Resolve the recipientCredentialfrom theRecipientKeyInfoelement.Methods inherited from class org.opensaml.xmlsec.keyinfo.impl.provider.AbstractKeyInfoProvider
buildCredentialContext, extractKeyValue
-
Field Details
-
log
@Nonnull 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 oftruedoes 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
-
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 originatorCredentialfrom theOriginatorKeyInfoelement.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 recipientCredentialfrom theRecipientKeyInfoelement.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
-