Interface PEMContext.Builder

All Known Implementing Classes:
PEMContextBuilderImpl
Enclosing interface:
PEMContext

public static interface PEMContext.Builder
A builder of PEM derived SSLContext instances.

PEM derived SSLContext instances are created through the PEMContext.Builder. Each of the setter methods modifies the state of the builder and returns the same instance. Builders are not thread-safe and should not be used concurrently from multiple threads without external synchronization.

Since:
1.0
  • Method Details

    • withPublicKey

      PEMContext.Builder withPublicKey(Path certPath)
      Optionally sets the truststore configuration using a Base64 encoded certificate or certificate chain for building an SSLContext.
      Parameters:
      certPath - The path to the file containing one or more certificates.
      Returns:
      This builder.
    • withPrivateKey

      PEMContext.Builder withPrivateKey(Path keyPath, Path certPath)
      Optionally sets the keystore configuration using a Base64 encoded private key for building an SSLContext.
      Parameters:
      keyPath - The path to the file containing the private key material.
      certPath - The path to the file containing the certificate or certificate chain with the corresponding public key that pairs with the private key.
      Returns:
      This builder.
    • withPrivateKeyPassword

      PEMContext.Builder withPrivateKeyPassword(char[] password)
      Optionally sets the password for the encrypted private key material.
      Parameters:
      password - The password used to decrypt the encrypted key. If this is set to null or an empty char[], it will be assumed that decryption is not needed.
      Returns:
      This builder.
    • saveKeyStore

      PEMContext.Builder saveKeyStore(Path keyMaterialPath, char[] password)
      Optionally saves the built keystore to the provided path, and protects its integrity with a password.
      Parameters:
      keyMaterialPath - The path used for saving the keystore.
      password - The password to set when saving the keystore, which has a minimum length of 4 characters.
      Returns:
      This builder.
    • saveTrustStore

      PEMContext.Builder saveTrustStore(Path trustMaterialPath, char[] password)
      Optionally saves the built truststore to the provided path, and protects its integrity with a password.
      Parameters:
      trustMaterialPath - The path used for saving the truststore.
      password - The password to set when saving the truststore, which has a minimum length of 4 characters.
      Returns:
      This builder.
    • keyStoreType

      Optionally sets the keystore type being built with PKCS12 being the default.
      Parameters:
      type - The keystore type such as PKCS12 or the legacy JKS.
      Returns:
      This builder.
    • trustStoreType

      Optionally sets the truststore type being built with PKCS12 being the default.
      Parameters:
      type - The truststore type such as PKCS12 or the legacy JKS.
      Returns:
      This builder.
    • build

      SSLContext build()
      Returns a new SSLContext instance built from the current state of this builder.
      Returns:
      A new SSLContext.