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.