The Talend ESB Runtime provides a utility to enable you to encrypt your desired clear text parameters and passwords. You can there after use the encrypted values in your configuration and property files.
Follow these steps to use this utility:
Set the environment variable
Where pwd can be anything you specified.
This is the master password used by the container to encrypt all the desired parameters and passwords.
Start the Talend Runtime container.
tesb-encryptor-commandfeature in the container:
Get an encrypted string for 'tadmin' for example by entering the following command in the container:
karaf@trun()> tesb:encrypt-text tadmin
You will get the following result:
In case the password is not specified, it will be taken from the system environment variable
TESB_ENV_PASSWORD. This helper uses PBEWITHSHA256AND128BITAES-CBC-BC hardcoded algorithm.
Note that to use passwords encrypted by the
tesb-encryptor-commandfeature in Data Services and Routes, you need to store the encrypted password in a context variable and specify the context variable in the password field of tESBConsumer, tRESTClient, cSOAP or cREST component, then deploy the service via Talend Administration Center and overwrite the context variable with the encrypted value. This is the only way encryption of passwords in Data Services and Routes works.
If JCE security extensions are missing from JRE/JDK installation, you may face the error message, "Error executing command: java.lang.SecurityException: JCE cannot authenticate the provider BC". Those extensions are typically not installed by default because of the US export restrictions placed on "strong cryptography". Download them at http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html for Java 8 or http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html for Java 7.