Class AbstractCredentialReader<T>

java.lang.Object
org.ldaptive.ssl.AbstractCredentialReader<T>
Type Parameters:
T - Type of credential read by this instance.
All Implemented Interfaces:
CredentialReader<T>
Direct Known Subclasses:
KeyStoreCredentialReader, PrivateKeyCredentialReader, X509CertificateCredentialReader, X509CertificatesCredentialReader

public abstract class AbstractCredentialReader<T> extends Object implements CredentialReader<T>
Base class for all credential readers. It provides support for loading files from resources on the classpath or a filepath. If a path is prefixed with the string "classpath:" it is interpreted as a classpath specification. If a path is prefixed with the string "file:" it is interpreted as a file path. Any other input throws IllegalArgumentException.
  • Field Details

    • logger

      protected final org.slf4j.Logger logger
      Logger for this class.
  • Constructor Details

    • AbstractCredentialReader

      public AbstractCredentialReader()
  • Method Details

    • read

      public T read(String path, String... params) throws IOException, GeneralSecurityException
      Description copied from interface: CredentialReader
      Reads a credential object from a path.
      Specified by:
      read in interface CredentialReader<T>
      Parameters:
      path - from which to read credential.
      params - Arbitrary string parameters, e.g. password, needed to read the credential.
      Returns:
      credential read from data at path.
      Throws:
      IOException - On IO errors.
      GeneralSecurityException - On errors with the credential data.
    • getBufferedInputStream

      protected InputStream getBufferedInputStream(InputStream is)
      Gets a buffered input stream from the given input stream. If the given instance is already buffered, it is simply returned.
      Parameters:
      is - input stream from which to create buffered instance.
      Returns:
      buffered input stream. If the given instance is already buffered, it is simply returned.