When upgrading an existing server with an existing configuration from 4.8.3 to 4.9.0, the server can’t start anymore.
The following stacktrace highlight the issue:
java.lang.IllegalArgumentException: Illegal base64 character 20
at java.base/java.util.Base64$Decoder.decode0(Base64.java:847)
at java.base/java.util.Base64$Decoder.decode(Base64.java:566)
at java.base/java.util.Base64$Decoder.decode(Base64.java:589)
at org.jivesoftware.util.AesEncryptor.decrypt(AesEncryptor.java:100)
at org.jivesoftware.util.AesEncryptor.decrypt(AesEncryptor.java:94)
at org.jivesoftware.util.JiveGlobals.getCurrentKey(JiveGlobals.java:1128)
at org.jivesoftware.util.JiveGlobals.setupPropertyEncryption(JiveGlobals.java:1329)
at org.jivesoftware.util.JiveGlobals.loadSecurityProperties(JiveGlobals.java:1296)
at org.jivesoftware.util.JiveGlobals.isXMLPropertyEncrypted(JiveGlobals.java:1010)
at org.jivesoftware.util.XMLProperties.getProperty(XMLProperties.java:212)
at org.jivesoftware.util.XMLProperties.getProperty(XMLProperties.java:171)
at org.jivesoftware.util.JiveGlobals.getXMLProperty(JiveGlobals.java:310)
at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:366)
at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:660)
at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:220)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128)
at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:347)
at java.base/java.lang.Class.newInstance(Class.java:645)
at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:92)
at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:56)
The java.util.base64 class is used since [OF-2864] - Ignite Realtime Jira Deprecate custom Base64 class.
I’m not sure how to identify the string raising this issue.