Package org.apache.hadoop.security.ssl
Class FileBasedKeyStoresFactory
java.lang.Object
org.apache.hadoop.security.ssl.FileBasedKeyStoresFactory
- All Implemented Interfaces:
Configurable,KeyStoresFactory
@Private
@Evolving
public class FileBasedKeyStoresFactory
extends Object
implements KeyStoresFactory
KeyStoresFactory implementation that reads the certificates from
keystore files.
If either the truststore or the keystore certificates file changes, it
would be refreshed under the corresponding wrapper implementation -
ReloadingX509KeystoreManager or ReloadingX509TrustManager.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringDefault format of the keystore files.static final intThe default time interval in milliseconds used to check if either of the truststore or keystore certificates file has changed and needs reloading.static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringThe name of the timer thread monitoring file changes.static final StringThe refresh interval used to check if either of the truststore or keystore certificate file has changed.static final Stringstatic final Stringstatic final Stringstatic final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()Releases any resources being used.getConf()Returns the configuration of the factory.Returns the keymanagers for owned certificates.Returns the trustmanagers for trusted certificates.voidinit(SSLFactory.Mode mode) Initializes the keystores of the factory.static StringresolvePropertyName(SSLFactory.Mode mode, String template) Resolves a property name to its client/server version if applicable.voidsetConf(Configuration conf) Sets the configuration for the factory.
-
Field Details
-
SSL_MONITORING_THREAD_NAME
The name of the timer thread monitoring file changes.- See Also:
-
SSL_STORES_RELOAD_INTERVAL_TPL_KEY
The refresh interval used to check if either of the truststore or keystore certificate file has changed.- See Also:
-
SSL_KEYSTORE_LOCATION_TPL_KEY
- See Also:
-
SSL_KEYSTORE_PASSWORD_TPL_KEY
- See Also:
-
SSL_KEYSTORE_KEYPASSWORD_TPL_KEY
- See Also:
-
SSL_KEYSTORE_TYPE_TPL_KEY
- See Also:
-
SSL_TRUSTSTORE_RELOAD_INTERVAL_TPL_KEY
- See Also:
-
SSL_TRUSTSTORE_LOCATION_TPL_KEY
- See Also:
-
SSL_TRUSTSTORE_PASSWORD_TPL_KEY
- See Also:
-
SSL_TRUSTSTORE_TYPE_TPL_KEY
- See Also:
-
SSL_EXCLUDE_CIPHER_LIST
- See Also:
-
DEFAULT_KEYSTORE_TYPE
Default format of the keystore files.- See Also:
-
DEFAULT_SSL_STORES_RELOAD_INTERVAL
public static final int DEFAULT_SSL_STORES_RELOAD_INTERVALThe default time interval in milliseconds used to check if either of the truststore or keystore certificates file has changed and needs reloading.- See Also:
-
-
Constructor Details
-
FileBasedKeyStoresFactory
public FileBasedKeyStoresFactory()
-
-
Method Details
-
resolvePropertyName
Resolves a property name to its client/server version if applicable.NOTE: This method is public for testing purposes.
- Parameters:
mode- client/server mode.template- property name template.- Returns:
- the resolved property name.
-
setConf
Sets the configuration for the factory.- Specified by:
setConfin interfaceConfigurable- Parameters:
conf- the configuration for the factory.
-
getConf
Returns the configuration of the factory.- Specified by:
getConfin interfaceConfigurable- Returns:
- the configuration of the factory.
-
init
Initializes the keystores of the factory.- Specified by:
initin interfaceKeyStoresFactory- Parameters:
mode- if the keystores are to be used in client or server mode.- Throws:
IOException- thrown if the keystores could not be initialized due to an IO error.GeneralSecurityException- thrown if the keystores could not be initialized due to a security error.
-
destroy
public void destroy()Releases any resources being used.- Specified by:
destroyin interfaceKeyStoresFactory
-
getKeyManagers
Returns the keymanagers for owned certificates.- Specified by:
getKeyManagersin interfaceKeyStoresFactory- Returns:
- the keymanagers for owned certificates.
-
getTrustManagers
Returns the trustmanagers for trusted certificates.- Specified by:
getTrustManagersin interfaceKeyStoresFactory- Returns:
- the trustmanagers for trusted certificates.
-