public class DefaultEncryptedProperties extends java.lang.Object implements EncryptedProperties
EncryptedProperties interface. This
implementation wraps a normal properties file, and creates surrogates for the
getProperty and setProperty methods that perform encryption
and decryption based on Encryptor.
A very simple main program is provided that can be used to create an encrypted properties file. A better approach would be to allow unencrypted properties in the file and to encrypt them the first time the file is accessed.
EncryptedProperties,
ReferenceEncryptedProperties| Modifier and Type | Field and Description |
|---|---|
private Logger |
logger
The logger.
|
private java.util.Properties |
properties
The properties.
|
| Constructor and Description |
|---|
DefaultEncryptedProperties()
Instantiates a new encrypted properties.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getProperty(java.lang.String key)
Gets the property value from the encrypted store, decrypts it, and
returns the plaintext value to the caller.
|
java.util.Set<?> |
keySet()
Returns a
Set view of properties. |
void |
load(java.io.InputStream in)
Reads a property list (key and element pairs) from the input stream.
|
static void |
main(java.lang.String[] args)
Deprecated.
Use
EncryptedPropertiesUtils instead, which allows creating, reading,
and writing encrypted properties. |
java.lang.String |
setProperty(java.lang.String key,
java.lang.String value)
Encrypts the plaintext property value and stores the ciphertext value
in the encrypted store.
|
void |
store(java.io.OutputStream out,
java.lang.String comments)
Writes this property list (key and element pairs) in this Properties table to
the output stream in a format suitable for loading into a Properties table using the load method.
|
private final java.util.Properties properties
private final Logger logger
public DefaultEncryptedProperties()
public java.lang.String getProperty(java.lang.String key)
throws EncryptionException
getProperty in interface EncryptedPropertieskey - the name of the property to getEncryptionException - if the property could not be decryptedpublic java.lang.String setProperty(java.lang.String key,
java.lang.String value)
throws EncryptionException
setProperty in interface EncryptedPropertieskey - the name of the property to setvalue - the value of the property to setnull if it did not have one.EncryptionException - if the property could not be encryptedpublic java.util.Set<?> keySet()
Set view of properties. The Set is backed by a
java.util.Hashtable, so changes to the Hashtable are
reflected in the Set, and vice-versa. The Set supports element
removal (which removes the corresponding entry from the {@code Hashtable),
but not element addition.keySet in interface EncryptedPropertiespublic void load(java.io.InputStream in)
throws java.io.IOException
load in interface EncryptedPropertiesin - the input stream that contains the properties filejava.io.IOException - Signals that an I/O exception has occurred.public void store(java.io.OutputStream out,
java.lang.String comments)
throws java.io.IOException
store in interface EncryptedPropertiesout - the output stream that contains the properties filecomments - a description of the property list (ex. "Encrypted Properties File").java.io.IOException - Signals that an I/O exception has occurred.public static void main(java.lang.String[] args)
throws java.lang.Exception
EncryptedPropertiesUtils instead, which allows creating, reading,
and writing encrypted properties.args - the location of the properties file to load and write tojava.lang.Exception - Any exception thrown