Error Message thrown when Encrypting passwords

Applies to: Ephesoft Transact 4.1.2.0 and above on Windows

Issue

When encrypting passwords, you may see the following error message in the logs during Transact startup:

4.1.2.0 Windows Server 2012 R2 2017-03-29 11:38:21,723 ERROR set_variables - User Defined Java Class com.ephesoft.dcma.encryption.core.EncryptorDecryptor - Decryption : Algorithm parameter is invalid
java.security.InvalidAlgorithmParameterException: Salt must be 8 bytes long
at com.sun.crypto.provider.PBES1Core.init(PBES1Core.java:234)
at com.sun.crypto.provider.PBEWithMD5AndDESCipher.engineInit(PBEWithMD5AndDESCipher.java:221)
at javax.crypto.Cipher.implInit(Cipher.java:806)
at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
at javax.crypto.Cipher.init(Cipher.java:1396)
at javax.crypto.Cipher.init(Cipher.java:1327)
at com.ephesoft.dcma.encryption.core.EncryptorDecryptor.startCrypting(EncryptorDecryptor.java:64)
at com.ephesoft.dcma.encryption.core.EncryptorDecryptor.decryptString(EncryptorDecryptor.java:161)
at com.ephesoft.dcma.encryption.core.PasswordDecryptor.getDecyrptedString(PasswordDecryptor.java:110)
at com.ephesoft.dcma.encryption.core.PasswordDecryptor.decrypt(PasswordDecryptor.java:81)
at Processor.processRow(Processor.java:17)
at org.pentaho.di.trans.steps.userdefinedjavaclass.UserDefinedJavaClass.processRow(UserDefinedJavaClass.java:1018)
at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
at java.lang.Thread.run(Thread.java:745) 

Root Cause

This error occurs if you have not encrypted the login username and password in the etl-variable.properties file.

Solution

Add the following properties to the etl-variables.properties file, in encrypted format:

  • ephesoft.loginusername
  • ephesoft.loginpassword

Note: This error message has no impact on the encryption functionality. Password encryption will work without any issues if configured properly.