Class KeyStoreCredentialSource

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

public final class KeyStoreCredentialSource extends Object implements CredentialSource
A credential source which is backed by a key store entry.
Author:
David M. Lloyd
  • Constructor Details

    • KeyStoreCredentialSource

      public KeyStoreCredentialSource(KeyStore keyStore, String alias, KeyStore.ProtectionParameter protectionParameter)
      Construct a new instance.
      Parameters:
      keyStore - the key store to reference (must not be null)
      alias - the name of the key store entry to read from (must not be null)
      protectionParameter - the protection parameter to use to access the key store entry, or null for none
    • KeyStoreCredentialSource

      public KeyStoreCredentialSource(SecurityFactory<KeyStore.Entry> entryFactory)
      Construct a new instance.
      Parameters:
      entryFactory - 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