Class FactoryCredentialSource

java.lang.Object
org.wildfly.security.credential.source.impl.FactoryCredentialSource
All Implemented Interfaces:
CredentialSource

public class FactoryCredentialSource extends Object implements CredentialSource
A credential source which is backed by a credential security factory.
Author:
Martin Mazanek
  • Constructor Details

    • FactoryCredentialSource

      public FactoryCredentialSource(SecurityFactory<? extends Credential> credentialFactory)
      Construct a new instance.
      Parameters:
      credentialFactory - the entry factory to use to instantiate the entry (must not be null)
  • Method Details

    • getCredentialAcquireSupport

      public SupportLevel getCredentialAcquireSupport(Class<? extends Credential> credentialType, String algorithmName, AlgorithmParameterSpec parameterSpec) throws IOException
      Description copied from interface: CredentialSource
      Determine whether a given credential is definitely obtainable, possibly obtainable, or definitely not obtainable.
      Specified by:
      getCredentialAcquireSupport in interface CredentialSource
      Parameters:
      credentialType - the credential type class (must not be null)
      algorithmName - the algorithm name, or null if any algorithm is acceptable or the credential type does not support algorithm names
      parameterSpec - the algorithm parameters to match, or null if any parameters are acceptable or the credential type does not support algorithm parameters
      Returns:
      the level of support for this credential type (not null)
      Throws:
      IOException - if the credential source failed to determine the support level
    • getCredential

      public <C extends Credential> C getCredential(Class<C> credentialType, String algorithmName, AlgorithmParameterSpec parameterSpec) throws IOException
      Description copied from interface: CredentialSource
      Acquire a credential of the given type. The credential type is defined by its Class and an optional algorithmName. If the algorithm name is not given, then the query is performed for any algorithm of the given type.
      Specified by:
      getCredential in interface CredentialSource
      Type Parameters:
      C - the credential type
      Parameters:
      credentialType - the credential type class (must not be null)
      algorithmName - the algorithm name, or null if any algorithm is acceptable or the credential type does not support algorithm names
      parameterSpec - the algorithm parameters to match, or null if any parameters are acceptable or the credential type does not support algorithm parameters
      Returns:
      the credential, or null if the principal has no credential of that type
      Throws:
      IOException - if the realm is not able to handle requests for any reason