Class EnvironmentStringDigesterConfig

All Implemented Interfaces:
DigesterConfig, StringDigesterConfig

public class EnvironmentStringDigesterConfig extends EnvironmentDigesterConfig implements StringDigesterConfig

Implementation for StringDigesterConfig 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 SimpleDigesterConfig, 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.3
Author:
Daniel Fernández
  • Constructor Details

    • EnvironmentStringDigesterConfig

      public EnvironmentStringDigesterConfig()

      Creates a new EnvironmentStringDigesterConfig instance.

  • Method Details

    • getUnicodeNormalizationIgnoredEnvName

      public String getUnicodeNormalizationIgnoredEnvName()
      Retrieve the name of the environment variable which value has been loaded as a value for the "unicode normalization ignored" parameter.
      Returns:
      the name of the variable
    • setUnicodeNormalizationIgnoredEnvName

      public void setUnicodeNormalizationIgnoredEnvName(String unicodeNormalizationIgnoredEnvName)
      Set the config object to use the specified environment variable to load the value for the "unicode normalization ignored" parameter.
      Parameters:
      unicodeNormalizationIgnoredEnvName - the name of the environment variable
    • getUnicodeNormalizationIgnoredSysPropertyName

      public String getUnicodeNormalizationIgnoredSysPropertyName()
      Retrieve the name of the JVM system property which value has been loaded as a value for the "unicode normalization ignored" parameter.
      Returns:
      the name of the property
    • setUnicodeNormalizationIgnoredSysPropertyName

      public void setUnicodeNormalizationIgnoredSysPropertyName(String unicodeNormalizationIgnoredSysPropertyName)
      Set the config object to use the specified JVM system property to load a value for the "unicode normalization ignored" parameter.
      Parameters:
      unicodeNormalizationIgnoredSysPropertyName - the name of the property
    • getStringOutputTypeEnvName

      public String getStringOutputTypeEnvName()
      Retrieve the name of the environment variable which value has been loaded as the String output type.
      Returns:
      the name of the variable
    • setStringOutputTypeEnvName

      public void setStringOutputTypeEnvName(String stringOutputTypeEnvName)
      Set the config object to use the specified environment variable to load the value for the String output type.
      Parameters:
      stringOutputTypeEnvName - the name of the environment variable
    • getStringOutputTypeSysPropertyName

      public String getStringOutputTypeSysPropertyName()
      Retrieve the name of the JVM system property which value has been loaded as the String output type.
      Returns:
      the name of the property
    • setStringOutputTypeSysPropertyName

      public void setStringOutputTypeSysPropertyName(String stringOutputTypeSysPropertyName)
      Set the config object to use the specified JVM system property to load the value for the String output type.
      Parameters:
      stringOutputTypeSysPropertyName - the name of the property
    • setUnicodeNormalizationIgnored

      public void setUnicodeNormalizationIgnored(Boolean unicodeNormalizationIgnored)

      Sets whether the unicode text normalization step should be ignored.

      The Java Virtual Machine internally handles all Strings as UNICODE. When digesting or matching digests in jasypt, these Strings are first normalized to its NFC form so that digest matching is not affected by the specific form in which the messages where input.

      It is normally safe (and recommended) to leave this parameter set to its default FALSE value (and thus DO perform normalization operations). But in some specific cases in which issues with legacy software could arise, it might be useful to set this to TRUE.

      For more information on unicode text normalization, see this issue of Core Java Technologies Tech Tips.

      If not set, null will be returned.

      Parameters:
      unicodeNormalizationIgnored - whether the unicode text normalization step should be ignored or not.
    • setUnicodeNormalizationIgnored

      public void setUnicodeNormalizationIgnored(String unicodeNormalizationIgnored)

      Sets whether the unicode text normalization step should be ignored.

      The Java Virtual Machine internally handles all Strings as UNICODE. When digesting or matching digests in jasypt, these Strings are first normalized to its NFC form so that digest matching is not affected by the specific form in which the messages where input.

      It is normally safe (and recommended) to leave this parameter set to its default FALSE value (and thus DO perform normalization operations). But in some specific cases in which issues with legacy software could arise, it might be useful to set this to TRUE.

      For more information on unicode text normalization, see this issue of Core Java Technologies Tech Tips.

      If not set, null will be returned.

      Parameters:
      unicodeNormalizationIgnored - whether the unicode text normalization step should be ignored or not.
      Since:
      1.4
    • setStringOutputType

      public void setStringOutputType(String stringOutputType)

      Sets the the form in which String output will be encoded. Available encoding types are:

      • base64 (default)
      • hexadecimal

      If not set, null will be returned.

      Parameters:
      stringOutputType - the string output type.
    • setPrefix

      public void setPrefix(String prefix)

      Sets the prefix to be added at the beginning of encryption results, and also to be expected at the beginning of plain messages provided for matching operations (raising an

      invalid reference
      EncryptionOperationNotPossibleException
      if not).

      If not set, null will be returned.

      Determines the result of: getPrefix()

      Parameters:
      prefix -
      Since:
      1.7
    • setSuffix

      public void setSuffix(String suffix)

      Sets the suffix to be added at the end of encryption results, and also to be expected at the end of plain messages provided for matching operations (raising an

      invalid reference
      EncryptionOperationNotPossibleException
      if not).

      If not set, null will be returned.

      Determines the result of: getSuffix()

      Parameters:
      suffix -
      Since:
      1.7
    • isUnicodeNormalizationIgnored

      public Boolean isUnicodeNormalizationIgnored()
      Description copied from interface: StringDigesterConfig

      This parameter lets the user specify if the Unicode text normalization step performed during String digest and matching should be ignored.

      The Java Virtual Machine internally handles all Strings as UNICODE. When digesting or matching digests in jasypt, these Strings are first normalized to its NFC form so that digest matching is not affected by the specific form in which the messages where input.

      It is normally safe (and recommended) to leave this parameter set to its default FALSE value (and thus DO perform normalization operations). But in some specific cases in which issues with legacy software could arise, it might be useful to set this to TRUE.

      For more information on unicode text normalization, see this issue of Core Java Technologies Tech Tips.

      Specified by:
      isUnicodeNormalizationIgnored in interface StringDigesterConfig
      Returns:
      whether the unicode text normalization step should be ignored or not.
    • getStringOutputType

      public String getStringOutputType()
      Description copied from interface: StringDigesterConfig

      This parameter lets the user specify the form in which String output will be encoded. Available encoding types are:

      • base64 (default)
      • hexadecimal
      Specified by:
      getStringOutputType in interface StringDigesterConfig
      Returns:
      The name of the encoding type for String output
    • getPrefix

      public String getPrefix()
      Description copied from interface: StringDigesterConfig

      Adds the returned (plain) prefix at the beginning of generated digests, and also expects to find it in any plain message provided for matching operations (raising an

      invalid reference
      EncryptionOperationNotPossibleException
      if not).

      Specified by:
      getPrefix in interface StringDigesterConfig
      Returns:
      the prefix to be added to all digests
    • getSuffix

      public String getSuffix()
      Description copied from interface: StringDigesterConfig

      Adds the returned (plain) suffix at the end of generated digests, and also expects to find it in any plain message provided for matching operations (raising an

      invalid reference
      EncryptionOperationNotPossibleException
      if not).

      Specified by:
      getSuffix in interface StringDigesterConfig
      Returns:
      the suffix to be added to all digests
    • getPrefixEnvName

      public String getPrefixEnvName()
      Retrieve the name of the environment variable which value has been loaded as a value for the "prefix" parameter.
      Returns:
      the name of the variable
      Since:
      1.7
    • setPrefixEnvName

      public void setPrefixEnvName(String prefixEnvName)
      Set the config object to use the specified environment variable to load the value for the "prefix" parameter.
      Parameters:
      prefixEnvName - the name of the environment variable
      Since:
      1.7
    • getPrefixSysPropertyName

      public String getPrefixSysPropertyName()
      Retrieve the name of the JVM system property which value has been loaded as a value for the "prefix" parameter.
      Returns:
      the name of the property
      Since:
      1.7
    • setPrefixSysPropertyName

      public void setPrefixSysPropertyName(String prefixSysPropertyName)
      Set the config object to use the specified JVM system property to load a value for the "prefix" parameter.
      Parameters:
      prefixSysPropertyName - the name of the property
      Since:
      1.7
    • getSuffixEnvName

      public String getSuffixEnvName()
      Retrieve the name of the environment variable which value has been loaded as a value for the "suffix" parameter.
      Returns:
      the name of the variable
      Since:
      1.7
    • setSuffixEnvName

      public void setSuffixEnvName(String suffixEnvName)
      Set the config object to use the specified environment variable to load the value for the "suffix" parameter.
      Parameters:
      suffixEnvName - the name of the environment variable
      Since:
      1.7
    • getSuffixSysPropertyName

      public String getSuffixSysPropertyName()
      Retrieve the name of the JVM system property which value has been loaded as a value for the "suffix" parameter.
      Returns:
      the name of the property
      Since:
      1.7
    • setSuffixSysPropertyName

      public void setSuffixSysPropertyName(String suffixSysPropertyName)
      Set the config object to use the specified JVM system property to load a value for the "suffix" parameter.
      Parameters:
      suffixSysPropertyName - the name of the property
      Since:
      1.7