org.jasypt.encryption.pbe.config
Class EnvironmentPBEConfig

Object
  extended by org.jasypt.encryption.pbe.config.SimplePBEConfig
      extended by org.jasypt.encryption.pbe.config.EnvironmentPBEConfig
All Implemented Interfaces:
PBECleanablePasswordConfig, PBEConfig
Direct Known Subclasses:
EnvironmentStringPBEConfig

public class EnvironmentPBEConfig
extends SimplePBEConfig

Implementation for PBEConfig which can retrieve configuration values from environment variables or system properties.

The name of the environment variable or system property (JVM property) to query for each parameter can be set with its corresponding setXEnvName or setXSysProperty method.

As this class extends SimplePBEConfig, parameter values can be also set with the usual setX methods.

For any of the configuration parameters, if its value is not configured in any way, a null value will be returned by the corresponding getX method.

Since:
1.1
Author:
Daniel Fernández

Constructor Summary
EnvironmentPBEConfig()
           Creates a new EnvironmentPBEConfig instance.
 
Method Summary
 String getAlgorithmEnvName()
          Retrieve the name of the environment variable which value has been loaded as the algorithm.
 String getAlgorithmSysPropertyName()
          Retrieve the name of the JVM system property which value has been loaded as the algorithm.
 String getKeyObtentionIterationsEnvName()
          Retrieve the name of the environment variable which value has been loaded as the key obtention iteration count.
 String getKeyObtentionIterationsSysPropertyName()
          Retrieve the name of the JVM system property which value has been loaded as the key obtention iteration count.
 String getPasswordEnvName()
          Retrieve the name of the environment variable which value has been loaded as the password.
 String getPasswordSysPropertyName()
          Retrieve the name of the JVM system property which value has been loaded as the password.
 String getPoolSizeEnvName()
          Retrieve the name of the environment variable which value has been loaded as the value for the poolSize property.
 String getPoolSizeSysPropertyName()
          Retrieve the name of the JVM system property which value has been loaded as the value for the poolSize property.
 String getProviderClassNameEnvName()
          Retrieve the name of the environment variable which value has been loaded as the provider class name.
 String getProviderClassNameSysPropertyName()
          Retrieve the name of the JVM system property which value has been loaded as the provider class name.
 String getProviderNameEnvName()
          Retrieve the name of the environment variable which value has been loaded as the provider name.
 String getProviderNameSysPropertyName()
          Retrieve the name of the JVM system property which value has been loaded as the provider name.
 String getSaltGeneratorClassNameEnvName()
          Retrieve the name of the environment variable which value has been loaded as the salt generator class name.
 String getSaltGeneratorClassNameSysPropertyName()
          Retrieve the name of the JVM system property which value has been loaded as the salt generator class name.
 void setAlgorithm(String algorithm)
           Sets a value for the encryption algorithm
 void setAlgorithmEnvName(String algorithmEnvName)
          Set the config object to use the specified environment variable to load the value for the algorithm.
 void setAlgorithmSysPropertyName(String algorithmSysPropertyName)
          Set the config object to use the specified JVM system property to load the value for the algorithm.
 void setKeyObtentionIterations(Integer keyObtentionIterations)
          Sets the number of hashing iterations applied to obtain the encryption key.
 void setKeyObtentionIterations(String keyObtentionIterations)
          Sets the number of hashing iterations applied to obtain the encryption key.
 void setKeyObtentionIterationsEnvName(String keyObtentionIterationsEnvName)
          Set the config object to use the specified environment variable to load the value for the key obtention iteration count.
 void setKeyObtentionIterationsSysPropertyName(String keyObtentionIterationsSysPropertyName)
          Set the config object to use the specified JVM system property to load the value for the key obtention iteration count.
 void setPassword(String password)
          Sets the password to be used for encryption.
 void setPasswordCharArray(char[] password)
          Sets the password to be used for encryption, as a char[].
 void setPasswordEnvName(String passwordEnvName)
          Set the config object to use the specified environment variable to load the value for the password.
 void setPasswordSysPropertyName(String passwordSysPropertyName)
          Set the config object to use the specified JVM system property to load the value for the password.
 void setPoolSize(Integer poolSize)
           Sets the size of the pool of encryptors to be created.
 void setPoolSize(String poolSize)
           Sets the size of the pool of encryptors to be created.
 void setPoolSizeEnvName(String poolSizeEnvName)
           Set the config object to use the specified environment variable to load the value for the poolSize property.
 void setPoolSizeSysPropertyName(String poolSizeSysPropertyName)
           Set the config object to use the specified JVM system property to load the value for the useLenientSaltSizeCheck property.
 void setProvider(Provider provider)
           Sets the security provider to be used for obtaining the encryption algorithm.
 void setProviderClassName(String providerClassName)
           Sets the security provider to be used for obtaining the encryption algorithm.
 void setProviderClassNameEnvName(String providerClassNameEnvName)
           Set the config object to use the specified environment variable to load the value for the provider class name.
 void setProviderClassNameSysPropertyName(String providerClassNameSysPropertyName)
           Set the config object to use the specified JVM system property to load the value for the provider class name.
 void setProviderName(String providerName)
           Sets the name of the security provider to be asked for the encryption algorithm.
 void setProviderNameEnvName(String providerNameEnvName)
           Set the config object to use the specified environment variable to load the value for the provider name.
 void setProviderNameSysPropertyName(String providerNameSysPropertyName)
          Set the config object to use the specified JVM system property to load the value for the provider name.
 void setSaltGenerator(SaltGenerator saltGenerator)
           Sets the salt generator.
 void setSaltGeneratorClassName(String saltGeneratorClassName)
           Sets the salt generator.
 void setSaltGeneratorClassNameEnvName(String saltGeneratorClassNameEnvName)
           Set the config object to use the specified environment variable to load the value for the salt generator class name.
 void setSaltGeneratorClassNameSysPropertyName(String saltGeneratorClassNameSysPropertyName)
           Set the config object to use the specified JVM system property to load the value for the salt generator class name.
 
Methods inherited from class org.jasypt.encryption.pbe.config.SimplePBEConfig
cleanPassword, getAlgorithm, getKeyObtentionIterations, getPassword, getPasswordCharArray, getPoolSize, getProvider, getProviderName, getSaltGenerator
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EnvironmentPBEConfig

public EnvironmentPBEConfig()

Creates a new EnvironmentPBEConfig instance.

Method Detail

getAlgorithmEnvName

public String getAlgorithmEnvName()
Retrieve the name of the environment variable which value has been loaded as the algorithm.

Returns:
the name of the variable

setAlgorithmEnvName

public void setAlgorithmEnvName(String algorithmEnvName)
Set the config object to use the specified environment variable to load the value for the algorithm.

Parameters:
algorithmEnvName - the name of the environment variable

getAlgorithmSysPropertyName

public String getAlgorithmSysPropertyName()
Retrieve the name of the JVM system property which value has been loaded as the algorithm.

Returns:
the name of the property

setAlgorithmSysPropertyName

public void setAlgorithmSysPropertyName(String algorithmSysPropertyName)
Set the config object to use the specified JVM system property to load the value for the algorithm.

Parameters:
algorithmSysPropertyName - the name of the property

getKeyObtentionIterationsEnvName

public String getKeyObtentionIterationsEnvName()
Retrieve the name of the environment variable which value has been loaded as the key obtention iteration count.

Returns:
the name of the variable

setKeyObtentionIterationsEnvName

public void setKeyObtentionIterationsEnvName(String keyObtentionIterationsEnvName)
Set the config object to use the specified environment variable to load the value for the key obtention iteration count.

Parameters:
keyObtentionIterationsEnvName - the name of the environment variable

getKeyObtentionIterationsSysPropertyName

public String getKeyObtentionIterationsSysPropertyName()
Retrieve the name of the JVM system property which value has been loaded as the key obtention iteration count.

Returns:
the name of the property

setKeyObtentionIterationsSysPropertyName

public void setKeyObtentionIterationsSysPropertyName(String keyObtentionIterationsSysPropertyName)
Set the config object to use the specified JVM system property to load the value for the key obtention iteration count.

Parameters:
keyObtentionIterationsSysPropertyName - the name of the property

getPasswordEnvName

public String getPasswordEnvName()
Retrieve the name of the environment variable which value has been loaded as the password.

Returns:
the name of the variable

setPasswordEnvName

public void setPasswordEnvName(String passwordEnvName)
Set the config object to use the specified environment variable to load the value for the password.

Parameters:
passwordEnvName - the name of the environment variable

getPasswordSysPropertyName

public String getPasswordSysPropertyName()
Retrieve the name of the JVM system property which value has been loaded as the password.

Returns:
the name of the property

setPasswordSysPropertyName

public void setPasswordSysPropertyName(String passwordSysPropertyName)
Set the config object to use the specified JVM system property to load the value for the password.

Parameters:
passwordSysPropertyName - the name of the property

getSaltGeneratorClassNameEnvName

public String getSaltGeneratorClassNameEnvName()
Retrieve the name of the environment variable which value has been loaded as the salt generator class name.

Returns:
the name of the variable
Since:
1.3

setSaltGeneratorClassNameEnvName

public void setSaltGeneratorClassNameEnvName(String saltGeneratorClassNameEnvName)

Set the config object to use the specified environment variable to load the value for the salt generator class name.

The salt generator class name which is set here must have a no-argument constructor, so that it can be instantiated and passed to the encryptor.

Parameters:
saltGeneratorClassNameEnvName - the name of the environment variable
Since:
1.3

getSaltGeneratorClassNameSysPropertyName

public String getSaltGeneratorClassNameSysPropertyName()
Retrieve the name of the JVM system property which value has been loaded as the salt generator class name.

Returns:
the name of the property
Since:
1.3

setSaltGeneratorClassNameSysPropertyName

public void setSaltGeneratorClassNameSysPropertyName(String saltGeneratorClassNameSysPropertyName)

Set the config object to use the specified JVM system property to load the value for the salt generator class name.

The salt generator class name which is set here must have a no-argument constructor, so that it can be instantiated and passed to the encryptor.

Parameters:
saltGeneratorClassNameSysPropertyName - the name of the property
Since:
1.3

getProviderNameEnvName

public String getProviderNameEnvName()
Retrieve the name of the environment variable which value has been loaded as the provider name.

Returns:
the name of the variable
Since:
1.3

setProviderNameEnvName

public void setProviderNameEnvName(String providerNameEnvName)

Set the config object to use the specified environment variable to load the value for the provider name.

Parameters:
providerNameEnvName - the name of the environment variable
Since:
1.3

getProviderNameSysPropertyName

public String getProviderNameSysPropertyName()
Retrieve the name of the JVM system property which value has been loaded as the provider name.

Returns:
the name of the property
Since:
1.3

setProviderNameSysPropertyName

public void setProviderNameSysPropertyName(String providerNameSysPropertyName)
Set the config object to use the specified JVM system property to load the value for the provider name.

Parameters:
providerNameSysPropertyName - the name of the property
Since:
1.3

getProviderClassNameEnvName

public String getProviderClassNameEnvName()
Retrieve the name of the environment variable which value has been loaded as the provider class name.

Returns:
the name of the variable
Since:
1.3

setProviderClassNameEnvName

public void setProviderClassNameEnvName(String providerClassNameEnvName)

Set the config object to use the specified environment variable to load the value for the provider class name.

The provider class name which is set here must have a no-argument constructor, so that it can be instantiated and passed to the encryptor.

Parameters:
providerClassNameEnvName - the name of the environment variable
Since:
1.3

getProviderClassNameSysPropertyName

public String getProviderClassNameSysPropertyName()
Retrieve the name of the JVM system property which value has been loaded as the provider class name.

Returns:
the name of the property
Since:
1.3

setProviderClassNameSysPropertyName

public void setProviderClassNameSysPropertyName(String providerClassNameSysPropertyName)

Set the config object to use the specified JVM system property to load the value for the provider class name.

The provider class name which is set here must have a no-argument constructor, so that it can be instantiated and passed to the encryptor.

Parameters:
providerClassNameSysPropertyName - the name of the property
Since:
1.3

getPoolSizeEnvName

public String getPoolSizeEnvName()
Retrieve the name of the environment variable which value has been loaded as the value for the poolSize property.

Returns:
the name of the variable
Since:
1.7

setPoolSizeEnvName

public void setPoolSizeEnvName(String poolSizeEnvName)

Set the config object to use the specified environment variable to load the value for the poolSize property.

Parameters:
poolSizeEnvName - the name of the environment variable
Since:
1.7

getPoolSizeSysPropertyName

public String getPoolSizeSysPropertyName()
Retrieve the name of the JVM system property which value has been loaded as the value for the poolSize property.

Returns:
the name of the property
Since:
1.7

setPoolSizeSysPropertyName

public void setPoolSizeSysPropertyName(String poolSizeSysPropertyName)

Set the config object to use the specified JVM system property to load the value for the useLenientSaltSizeCheck property.

Parameters:
poolSizeSysPropertyName - the name of the property
Since:
1.7

setAlgorithm

public void setAlgorithm(String algorithm)
Description copied from class: SimplePBEConfig

Sets a value for the encryption algorithm

This algorithm has to be supported by your JCE provider and, if this provider supports it, you can also specify mode and padding for it, like ALGORITHM/MODE/PADDING.

Determines the result of: SimplePBEConfig.getAlgorithm()

Overrides:
setAlgorithm in class SimplePBEConfig
Parameters:
algorithm - the name of the algorithm to be used

setKeyObtentionIterations

public void setKeyObtentionIterations(Integer keyObtentionIterations)
Description copied from class: SimplePBEConfig
Sets the number of hashing iterations applied to obtain the encryption key.

Determines the result of: SimplePBEConfig.getKeyObtentionIterations()

Overrides:
setKeyObtentionIterations in class SimplePBEConfig
Parameters:
keyObtentionIterations - the number of iterations.

setKeyObtentionIterations

public void setKeyObtentionIterations(String keyObtentionIterations)
Description copied from class: SimplePBEConfig
Sets the number of hashing iterations applied to obtain the encryption key.

Determines the result of: SimplePBEConfig.getKeyObtentionIterations()

Overrides:
setKeyObtentionIterations in class SimplePBEConfig
Parameters:
keyObtentionIterations - the number of iterations.

setPassword

public void setPassword(String password)
Description copied from class: SimplePBEConfig
Sets the password to be used for encryption.

Determines the result of: SimplePBEConfig.getPassword() and SimplePBEConfig.getPasswordCharArray().

Overrides:
setPassword in class SimplePBEConfig
Parameters:
password - the password to be used.

setPasswordCharArray

public void setPasswordCharArray(char[] password)
Description copied from class: SimplePBEConfig
Sets the password to be used for encryption, as a char[].

This allows the password to be specified as a cleanable char[] instead of a String, in extreme security conscious environments in which no copy of the password as an immutable String should be kept in memory.

Important: the array specified as a parameter WILL BE COPIED in order to be stored in the configuration object. The caller of this method will therefore be responsible for its cleaning (jasypt will only clean the internally stored copy).

Determines the result of: SimplePBEConfig.getPassword() and SimplePBEConfig.getPasswordCharArray().

Overrides:
setPasswordCharArray in class SimplePBEConfig
Parameters:
password - the password to be used.

setSaltGenerator

public void setSaltGenerator(SaltGenerator saltGenerator)
Description copied from class: SimplePBEConfig

Sets the salt generator.

If not set, null will returned.

Determines the result of: SimplePBEConfig.getSaltGenerator()

Overrides:
setSaltGenerator in class SimplePBEConfig
Parameters:
saltGenerator - the salt generator.

setSaltGeneratorClassName

public void setSaltGeneratorClassName(String saltGeneratorClassName)
Description copied from class: SimplePBEConfig

Sets the salt generator.

If not set, null will returned.

Determines the result of: SimplePBEConfig.getSaltGenerator()

Overrides:
setSaltGeneratorClassName in class SimplePBEConfig
Parameters:
saltGeneratorClassName - the name of the salt generator class.

setProviderName

public void setProviderName(String providerName)
Description copied from class: SimplePBEConfig

Sets the name of the security provider to be asked for the encryption algorithm. This provider should be already registered.

If both the providerName and provider properties are set, only provider will be used, and providerName will have no meaning for the encryptor object.

If not set, null will be returned.

Determines the result of: SimplePBEConfig.getProviderName()

Overrides:
setProviderName in class SimplePBEConfig
Parameters:
providerName - the name of the security provider.

setProvider

public void setProvider(Provider provider)
Description copied from class: SimplePBEConfig

Sets the security provider to be used for obtaining the encryption algorithm. This method is an alternative to both SimplePBEConfig.setProviderName(String) and SimplePBEConfig.setProviderClassName(String) and they should not be used altogether. The provider specified with SimplePBEConfig.setProvider(Provider) does not have to be registered beforehand, and its use will not result in its being registered.

If both the providerName and provider properties are set, only provider will be used, and providerName will have no meaning for the encryptor object.

If not set, null will be returned.

Determines the result of: SimplePBEConfig.getProvider()

Overrides:
setProvider in class SimplePBEConfig
Parameters:
provider - the security provider object.

setProviderClassName

public void setProviderClassName(String providerClassName)
Description copied from class: SimplePBEConfig

Sets the security provider to be used for obtaining the encryption algorithm. This method is an alternative to both SimplePBEConfig.setProviderName(String) and SimplePBEConfig.setProvider(Provider) and they should not be used altogether. The provider specified with SimplePBEConfig.setProviderClassName(String) does not have to be registered beforehand, and its use will not result in its being registered.

If both the providerName and provider properties are set, only provider will be used, and providerName will have no meaning for the encryptor object.

If not set, null will be returned.

Determines the result of: SimplePBEConfig.getProvider()

Overrides:
setProviderClassName in class SimplePBEConfig
Parameters:
providerClassName - the name of the security provider class.

setPoolSize

public void setPoolSize(Integer poolSize)
Description copied from class: SimplePBEConfig

Sets the size of the pool of encryptors to be created.

This parameter will be ignored if used with a non-pooled encryptor.

If not set, null will be returned.

Determines the result of: SimplePBEConfig.getPoolSize()

Overrides:
setPoolSize in class SimplePBEConfig
Parameters:
poolSize - the size of the pool to be used if this configuration is used with a pooled encryptor

setPoolSize

public void setPoolSize(String poolSize)
Description copied from class: SimplePBEConfig

Sets the size of the pool of encryptors to be created.

This parameter will be ignored if used with a non-pooled encryptor.

If not set, null will be returned.

Determines the result of: SimplePBEConfig.getPoolSize()

Overrides:
setPoolSize in class SimplePBEConfig
Parameters:
poolSize - the size of the pool to be used if this configuration is used with a pooled encryptor


Copyright © 2011 The JASYPT team. All Rights Reserved.