Class KeyStoreBackedSecurityRealm

java.lang.Object
org.wildfly.security.auth.realm.KeyStoreBackedSecurityRealm
All Implemented Interfaces:
SecurityRealm

public class KeyStoreBackedSecurityRealm extends Object implements SecurityRealm
A KeyStore backed SecurityRealm implementation.
Author:
David M. Lloyd, Darran Lofthouse
  • Constructor Details

    • KeyStoreBackedSecurityRealm

      public KeyStoreBackedSecurityRealm(KeyStore keyStore)
      Construct a new instance.
      Parameters:
      keyStore - the keystore to use to back this realm
    • KeyStoreBackedSecurityRealm

      public KeyStoreBackedSecurityRealm(KeyStore keyStore, Supplier<Provider[]> providers)
      Construct a new instance.
      Parameters:
      keyStore - the keystore to use to back this realm
      providers - A supplier of providers for use by this realm
  • Method Details

    • getRealmIdentity

      public RealmIdentity getRealmIdentity(Principal principal) throws RealmUnavailableException
      Description copied from interface: SecurityRealm
      Get a handle for to the identity for the given principal in the context of this security realm. Any validation / name mapping is an implementation detail for the realm. The identity may or may not exist. The returned handle must be cleaned up by a call to RealmIdentity.dispose().
      Specified by:
      getRealmIdentity in interface SecurityRealm
      Parameters:
      principal - the principal which identifies the identity within the realm (must not be null)
      Returns:
      the RealmIdentity for the provided principal (not null)
      Throws:
      RealmUnavailableException
    • getCredentialAcquireSupport

      public SupportLevel getCredentialAcquireSupport(Class<? extends Credential> credentialType, String algorithmName, AlgorithmParameterSpec parameterSpec) throws RealmUnavailableException
      Description copied from interface: SecurityRealm
      Determine whether a credential of the given type and algorithm is definitely obtainable, possibly obtainable (for] some identities), or definitely not obtainable.
      Specified by:
      getCredentialAcquireSupport in interface SecurityRealm
      Parameters:
      credentialType - the exact credential type (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
      Throws:
      RealmUnavailableException - if the realm is not able to handle requests for any reason
    • getEvidenceVerifySupport

      public SupportLevel getEvidenceVerifySupport(Class<? extends Evidence> evidenceType, String algorithmName) throws RealmUnavailableException
      Description copied from interface: SecurityRealm
      Determine whether a given type of evidence is definitely verifiable, possibly verifiable (for some identities), or definitely not verifiable.
      Specified by:
      getEvidenceVerifySupport in interface SecurityRealm
      Parameters:
      evidenceType - the type of evidence to be verified (must not be null)
      algorithmName - the algorithm name, or null if any algorithm is acceptable or the evidence type does not support algorithm names
      Returns:
      the level of support for this evidence type
      Throws:
      RealmUnavailableException - if the realm is not able to handle requests for any reason