Class TemporaryKeyStoreBuilder

java.lang.Object
org.apache.nifi.security.util.TemporaryKeyStoreBuilder

public class TemporaryKeyStoreBuilder extends Object
KeyStore Factory for creating temporary files primarily used for testing
  • Field Details

  • Constructor Details

    • TemporaryKeyStoreBuilder

      public TemporaryKeyStoreBuilder()
  • Method Details

    • hostname

      public TemporaryKeyStoreBuilder hostname(String hostname)
      Set Hostname used for Certificate Common Name and DNS Subject Alternative Names
      Parameters:
      hostname - Hostname is required
      Returns:
      Builder
    • trustStorePassword

      public TemporaryKeyStoreBuilder trustStorePassword(String trustStorePassword)
      Set Trust Store Password used for protected generated Trust Store file
      Parameters:
      trustStorePassword - Trust Store Password is required
      Returns:
      Builder
    • trustStoreType

      public TemporaryKeyStoreBuilder trustStoreType(String trustStoreType)
      Set Trust Store Type used for storing Trust Store files
      Parameters:
      trustStoreType - Trust Store type must be a supported value for KeyStore.getInstance()
      Returns:
      Builder
    • build

      public TlsConfiguration build()
      Build Temporary KeyStore and TrustStore with configured values and set files with File.deleteOnExit()
      Returns:
      TLS Configuration with KeyStore and TrustStore properties
    • setKeyStore

      private KeyStoreConfiguration setKeyStore(PrivateKey privateKey, X509Certificate certificate)
    • setTrustStore

      private KeyStoreConfiguration setTrustStore(X509Certificate certificate)
    • storeKeyStore

      private File storeKeyStore(KeyStore keyStore, char[] password)
    • getNewKeyStore

      private KeyStore getNewKeyStore(String newKeyStoreType)
    • generateCertificate

      private X509Certificate generateCertificate(String hostname, KeyPair keyPair)
    • generateKeyPair

      private KeyPair generateKeyPair()
    • generateSecureRandomPassword

      private String generateSecureRandomPassword()