Interface KeyInfoProvider

All Known Implementing Classes:
AbstractKeyInfoProvider, AgreementMethodKeyInfoProvider, DEREncodedKeyValueProvider, DSAKeyValueProvider, ECKeyValueProvider, InlineX509DataProvider, KeyInfoReferenceProvider, RSAKeyValueProvider

public interface KeyInfoProvider
Interface for providers used in conjunction with a KeyInfoCredentialResolver which support resolving Credentials based on a child element of KeyInfo.
  • Method Details

    • process

      @Nullable 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 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.
    • handles

      boolean handles(@Nonnull 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