org.opensaml.xml.security.keyinfo.provider
Class KeyInfoReferenceProvider

java.lang.Object
  extended by org.opensaml.xml.security.keyinfo.provider.AbstractKeyInfoProvider
      extended by org.opensaml.xml.security.keyinfo.provider.KeyInfoReferenceProvider
All Implemented Interfaces:
KeyInfoProvider

public class KeyInfoReferenceProvider
extends AbstractKeyInfoProvider

Implementation of KeyInfoProvider which supports KeyInfoReference.

To prevent cycles, only a single reference step is permitted. Only same-document references are supported.


Field Summary
private  Logger log
          Class logger.
 
Constructor Summary
KeyInfoReferenceProvider()
           
 
Method Summary
protected  KeyInfoReference getKeyInfoReference(XMLObject xmlObject)
          Get the KeyInfoReference from the passed XML object.
 boolean handles(XMLObject keyInfoChild)
          Evaluate whether the given provider should attempt to handle resolving a credential from the specified KeyInfo child.
 Collection<Credential> process(KeyInfoCredentialResolver resolver, XMLObject keyInfoChild, CriteriaSet criteriaSet, KeyInfoResolutionContext kiContext)
          Process a specified KeyInfo child (XMLobject) and attempt to resolve a credential from it.
 
Methods inherited from class org.opensaml.xml.security.keyinfo.provider.AbstractKeyInfoProvider
buildCredentialContext, extractKeyValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private final Logger log
Class logger.

Constructor Detail

KeyInfoReferenceProvider

public KeyInfoReferenceProvider()
Method Detail

handles

public boolean handles(XMLObject keyInfoChild)
Evaluate whether the given provider should attempt to handle resolving a credential from the specified KeyInfo child. An evaluation of true 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

public Collection<Credential> process(KeyInfoCredentialResolver resolver,
                                      XMLObject keyInfoChild,
                                      CriteriaSet criteriaSet,
                                      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 provider
keyInfoChild - the KeyInfo child being processed
criteriaSet - the credential criteria the credential must satisfy
kiContext - 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.

getKeyInfoReference

protected KeyInfoReference getKeyInfoReference(XMLObject xmlObject)
Get the KeyInfoReference from the passed XML object.

Parameters:
xmlObject - an XML object, presumably a KeyInfoReference
Returns:
the KeyInfoReference which was found, or null if none or invalid


Copyright © 1999-2013. All Rights Reserved.