Hi,
I upgraded my 3.0.2 database to 4.0 today and tried to run the latest
code on it.
After long trial and error for other issues I'm stuck at the last one:
2012-09-11 17:56:26,387 DEBUG [utils.crypt.DBEncryptionUtil] (main:null)
Error while decrypting: true
2012-09-11 17:56:26,388 ERROR [cloud.servlet.CloudStartupServlet]
(main:null) Exception starting management server
org.jasypt.exceptions.EncryptionOperationNotPossibleException
at
org.jasypt.encryption.pbe.StandardPBEByteEncryptor.decrypt(StandardPBEByteEncryptor.java:918)
at
org.jasypt.encryption.pbe.StandardPBEStringEncryptor.decrypt(StandardPBEStringEncryptor.java:725)
at
com.cloud.utils.crypt.DBEncryptionUtil.decrypt(DBEncryptionUtil.java:65)
at
com.cloud.configuration.ConfigurationVO.getValue(ConfigurationVO.java:92)
at
com.cloud.configuration.dao.ConfigurationDaoImpl.getValue(ConfigurationDaoImpl.java:158)
at
com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:34)
at
com.cloud.server.ConfigurationServerImpl.persistDefaultValues(ConfigurationServerImpl.java:153)
at
com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:34)
See this:
"Error while decrypting: true"
When you open ConfigurationServerImpl.java and look at line 153:
String init = _configDao.getValue("init");
"init" is in the category "Hidden" in the database and these go to the
DBEncryptionUtil (ConfigurationVO.java):
public String getValue() {
return (("Hidden".equals(getCategory()) ||
"Secure".equals(getCategory())) ? DBEncryptionUtil.decrypt(value) : value);
}
In my case the value of "init" is just "true" and doesn't need any
decryption, it's in the database plain-text, but what is going wrong here?
Any suggestions?
Wido