So I did an upgrade of 3.8.2 to 3.9.0 on my Windows Server 2008R2 machine and now OpenFire refuses to open. This is a virtual server do rolling back was easy. Here is the error from starting the program:
.............
java.lang.ExceptionInInitializerError
at org.jivesoftware.openfire.net.SSLConfig.<clinit>(SSLConfig.java:159)
at org.jivesoftware.openfire.spi.ConnectionManagerImpl.isClientSSLListenerEnabled( ConnectionManagerImpl.java:625)
at org.jivesoftware.openfire.spi.ConnectionManagerImpl.createClientSSLListeners(Co nnectionManagerImpl.java:423)
at org.jivesoftware.openfire.spi.ConnectionManagerImpl.createListeners(ConnectionM anagerImpl.java:136)
at org.jivesoftware.openfire.spi.ConnectionManagerImpl.start(ConnectionManagerImpl .java:912)
at org.jivesoftware.openfire.XMPPServer.startModules(XMPPServer.java:627)
at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:493)
at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:216)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:113)
at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
at com.exe4j.runtime.WinLauncher.main(Unknown Source)
at com.install4j.runtime.launcher.WinLauncher.main(Unknown Source)
Caused by: java.lang.SecurityException: SHA1 digest error for org/bouncycastle/jcajce/provider/asymmetric/DSA$Mappings.class
at sun.security.util.ManifestEntryVerifier.verify(Unknown Source)
at java.util.jar.JarVerifier.processEntry(Unknown Source)
at java.util.jar.JarVerifier.update(Unknown Source)
at java.util.jar.JarVerifier$VerifierStream.read(Unknown Source)
at sun.misc.Resource.getBytes(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.bouncycastle.jce.provider.BouncyCastleProvider.loadAlgorithms(Unknown Source)
at org.bouncycastle.jce.provider.BouncyCastleProvider.setup(Unknown Source)
at org.bouncycastle.jce.provider.BouncyCastleProvider.access$000(Unknown Source)
at org.bouncycastle.jce.provider.BouncyCastleProvider$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at org.bouncycastle.jce.provider.BouncyCastleProvider.<init>(Unknown Source)
at org.jivesoftware.util.CertificateManager.<clinit>(CertificateManager.java:95)
... 23 more
Exception in thread "Thread-4" java.lang.NoClassDefFoundError: Could not initialize class org.jivesoftware.util.CertificateManager
at org.jivesoftware.openfire.http.HttpBindManager.stop(HttpBindManager.java:162)
at org.jivesoftware.openfire.spi.ConnectionManagerImpl.stop(ConnectionManagerImpl. java:926)
at org.jivesoftware.openfire.XMPPServer.shutdownServer(XMPPServer.java:979)
at org.jivesoftware.openfire.XMPPServer.access$800(XMPPServer.java:148)
at org.jivesoftware.openfire.XMPPServer$ShutdownHookThread.run(XMPPServer.java:925 )