PlugIns.JdbcSlim.UserGuide.3HowtoConfigureTheDatabaseConnection.EncryptingPasswords

PlugIns JdbcSlim UserGuide 3HowtoConfigureTheDatabaseConnection




WARNING: Any smart user of FitNesse can decryt the encrypted passwords!

The current implementation avoids that passwords are stored in clear text in files.
If you need more security implement a different store for your passwords.
You can configure a different decrypting mechanism by creating a class implementing `six42.fitnesse.jdbcslim.propertydecode.PropertyDecoder` and setting ".propertyDecoder" to contain its name.

CREDIT: The Encryption implementation is taken from the dbfit library.


To encrypt a password run:

java -cp "commons-codec-1.9.jar;dbfit-core-3.2.0.jar" dbfit.util.crypto.CryptoApp **SECRET** -keyStoreLocation ./plugins/jdbcslim/TestDB/


Replace **SECRET** with your password
If no keyfile exists it will create a new one named .dbfit.jks
The keyfile must always be named: .dbfit.jks


Define the location of your key file with ".keyStoreLocation"
it is possible to use multiple key files in different locations.



Define Properties SecretDefinition
key value
user James
.keyStoreLocation ./plugins/jdbcslim/TestDB/
password ENC(dP8utYfMtmrWZCylvGsOGw==)
cmd Save the world!

Check that all the content is now available
and the password is not shown in clear text

Table: SheetCommandBase SecretDefinition SORT
Key?<1 Value?
cmd Save the world!
password ****
sort
user James


Script Define Properties
show show SecretDefinition


Use the "getSecretProperty" function to access encrypted data in your fixture