Encryption of multiple properties
Learn how you can encrypt multiple sensitive properties stored in the
efm.properties
file.
Although it is possible to encrypt multiple properties one by one described in
Encryption of a single property section, Edge Flow Manager (EFM) provides a
helper script for convenience that you can use to encrypt all sensitive properties stored in
the efm.properties
file.
This script relies on the Jasypt CLI, therefore it is necessary that you install it. Also it requires the JASYPT_HOME environment variable set, which points to the root directory of Jasypt.
To encrypt a specific property, wrap its unencrypted value with
DEC(...)
in the efm.properties
file. For example,
efm.server.ssl.keyStorePassword=DEC(passwordToEncrypt)
To encrypt the efm.properties
file, you need to use the
encrypt_properties.sh
command and you need to provide the secret key with the
-p
flag which stands for password. For example,
./bin/encrypt_properties.sh -p secretKey
Unless it is explicitly specified through -o
option, this script
produces a .encrypted
file next to the original one. You need to overwrite the
original file with this newly created file.
-h
: Prints help-a
: Specifies the algorithm used for encryption. Default value isPBEWITHHMACSHA512ANDAES_256
.-i
: Specifies the ivGeneratorClassName. Default value isorg.jasypt.iv.RandomIvGenerator
.-l
: Specifies an alternative location for the property file. Default value isconf/efm.properties
.-o
: Specifies the output file location. Default value isconf/efm.properties.encrypted (<originalfile>.encrypted)
.