org.opensaml.xml.security.keyinfo
Interface KeyInfoProvider

All Known Implementing Classes:
AbstractKeyInfoProvider, DSAKeyValueProvider, RSAKeyValueProvider, X509DataProvider

public interface KeyInfoProvider

Interface for providers which support extracting a Credential from a child element of XML KeyInfo elements.


Method Summary
 boolean handles(XMLObject keyInfoChild)
          Evaluate whether the given provider can attempt to resolve a credential from the specified KeyInfo child.
 java.util.Collection<Credential> process(KeyInfoCredentialResolver resolver, XMLObject keyInfoChild, CredentialCriteriaSet criteriaSet, KeyInfoCredentialResolver.KeyInfoResolutionContext kiContext)
          Process a specified KeyInfo child (XMLobject) and attempt to resolve a credential from it.
 

Method Detail

process

java.util.Collection<Credential> process(KeyInfoCredentialResolver resolver,
                                         XMLObject keyInfoChild,
                                         CredentialCriteriaSet criteriaSet,
                                         KeyInfoCredentialResolver.KeyInfoResolutionContext kiContext)
                                         throws SecurityException
Process a specified KeyInfo child (XMLobject) and attempt to resolve a credential from it.

Parameters:
resolver - reference to the resolver which is calling the provider
keyInfoChild - the KeyInfo child being processed
criteriaSet - the credential criteria the credential must satisfy
kiContext - the resolution context, used for sharing state between the resolver and the 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.

handles

boolean handles(XMLObject keyInfoChild)
Evaluate whether the given provider can attempt to resolve a credential from the specified KeyInfo child.

Parameters:
keyInfoChild - the KeyInfo child object to consider
Returns:
true if the provider an attempt to resolve, false otherwise