Encryption of secure information

Product 360 supports the encryption of secure information like passwords in configuration files. The encryption will be executed only if the secure information in the configuration files is enclosed by corresponding markers.

There's a default implementation using AES-256. It is used if encryption is needed and no custom implementation is available.

Custom implementation

Implementation

The interface EncryptionService provided by com.heiler.ppm.encryption has to be implemented:

public interface EncryptionService
{
/**
* Encrypts the given {@link CharSequence}.
* @param charSequenceToEncrypt The {@link CharSequence} to be encrypted. Must not be <code>null</code>.
* @return The encrypted {@link CharSequence}, never <code>null</code>.
*/
public CharSequence encrypt( CharSequence charSequenceToEncrypt ) throws EncryptionServiceException;
 
/**
* Decrypts the given {@link CharSequence}.
* @param charSequenceToDecrypt The {@link CharSequence} to be decrypted. Must not be <code>null</code>.
* @return The decrypted {@link CharSequence}, never <code>null</code>.
*/
public CharSequence decrypt( CharSequence charSequenceToDecrypt ) throws EncryptionServiceException;
}

Note: the implementation has to be provided in all server components like Product 360 application server, Control Center, Audit Trail, ... which you're using.

Installation

The compiled EncryptionService implementation has to be provided in the classpath, the start parameter ppm.encryptionService contains the name of the class and tells the corresponding application to use that implementation.

Example:

Product 360 server - wrapper.conf
wrapper.java.additional.40 = -Dppm.encryptionService = custom.encryption.encryptionService