Trying to access Haven&Hearth from a different computer (Vista 32 desktop) throws this long-winded message about "Invalid TLS padding data". No problems connecting on this laptop, both systems hooked to same router/modem. So how do I get valid TLS padding data?
java.lang.RuntimeException: javax.net.ssl.SSLException: Invalid TLS padding data
at haven.launcher.Driver.execute(Driver.java:91)
at haven.launcher.Driver.run(Driver.java:108)
at haven.launcher.Driver.main(Driver.java:193)
Caused by: javax.net.ssl.SSLException: Invalid TLS padding data
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
at sun.security.ssl.AppInputStream.read(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at sun.net.www.MeteredStream.read(Unknown Source)
at java.io.FilterInputStream.read(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
at haven.launcher.Cache.update0(Cache.java:270)
at haven.launcher.Cache.update(Cache.java:332)
at haven.launcher.Resource.update(Resource.java:69)
at haven.launcher.Driver.execute(Driver.java:48)
... 2 more
Suppressed: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: Invalid TLS padding data
at sun.security.ssl.SSLSocketImpl.checkEOF(Unknown Source)
at sun.security.ssl.AppInputStream.available(Unknown Source)
at java.io.BufferedInputStream.available(Unknown Source)
at sun.net.www.MeteredStream.available(Unknown Source)
at sun.net.www.http.KeepAliveStream.close(Unknown Source)
at java.io.FilterInputStream.close(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.close(Unknown Source)
at haven.launcher.Cache.update0(Cache.java:276)
... 5 more
[CIRCULAR REFERENCE:javax.net.ssl.SSLException: Invalid TLS padding data]
Suppressed: javax.net.ssl.SSLException: Invalid TLS padding data
... 17 more
Suppressed: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: Invalid TLS padding data
at sun.security.ssl.SSLSocketImpl.checkEOF(Unknown Source)
at sun.security.ssl.AppInputStream.available(Unknown Source)
at java.io.BufferedInputStream.available(Unknown Source)
at sun.net.www.MeteredStream.available(Unknown Source)
at sun.net.www.http.KeepAliveStream.close(Unknown Source)
at java.io.FilterInputStream.close(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.close(Unknown Source)
at haven.launcher.Cache.update0(Cache.java:276)
... 5 more
[CIRCULAR REFERENCE:javax.net.ssl.SSLException: Invalid TLS padding data]
Caused by: javax.crypto.BadPaddingException: Invalid TLS padding data
at sun.security.ssl.CipherBox.removePadding(Unknown Source)
at sun.security.ssl.CipherBox.decrypt(Unknown Source)
at sun.security.ssl.InputRecord.decrypt(Unknown Source)
... 15 more
Suppressed: javax.net.ssl.SSLException: Invalid TLS padding data
... 17 more
Suppressed: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: Invalid TLS padding data
at sun.security.ssl.SSLSocketImpl.checkEOF(Unknown Source)
at sun.security.ssl.AppInputStream.available(Unknown Source)
at java.io.BufferedInputStream.available(Unknown Source)
at sun.net.www.MeteredStream.available(Unknown Source)
at sun.net.www.http.KeepAliveStream.close(Unknown Source)
at java.io.FilterInputStream.close(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.close(Unknown Source)
at haven.launcher.Cache.update0(Cache.java:276)
... 5 more
[CIRCULAR REFERENCE:javax.net.ssl.SSLException: Invalid TLS padding data]
Caused by: javax.crypto.BadPaddingException: Invalid TLS padding data
at sun.security.ssl.CipherBox.removePadding(Unknown Source)
at sun.security.ssl.CipherBox.decrypt(Unknown Source)
at sun.security.ssl.InputRecord.decrypt(Unknown Source)
... 15 more
Caused by: javax.crypto.BadPaddingException: Invalid TLS padding data
at sun.security.ssl.CipherBox.removePadding(Unknown Source)
at sun.security.ssl.CipherBox.decrypt(Unknown Source)
at sun.security.ssl.InputRecord.decrypt(Unknown Source)
... 15 more
Last edited by loftar on Mon Jun 07, 2021 12:02 am, edited 1 time in total.
Reason:Added code tags
I'm not really sure what might cause that, but as a random guess, are you perhaps using some outdated version of Java that isn't up to the latest TLS specs?
"Object-oriented design is the roman numerals of computing." -- Rob Pike
java.lang.RuntimeException: javax.net.ssl.SSLException: javax.crypto.AEADBadTagException: Tag mismatch!
at haven.launcher.Driver.execute(Driver.java:91)
at haven.launcher.Driver.run(Driver.java:108)
at haven.launcher.Driver.main(Driver.java:193)
Caused by: javax.net.ssl.SSLException: javax.crypto.AEADBadTagException: Tag mismatch!
at sun.security.ssl.Alert.createSSLException(Unknown Source)
at sun.security.ssl.TransportContext.fatal(Unknown Source)
at sun.security.ssl.TransportContext.fatal(Unknown Source)
at sun.security.ssl.TransportContext.fatal(Unknown Source)
at sun.security.ssl.SSLTransport.decode(Unknown Source)
at sun.security.ssl.SSLSocketImpl.decode(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readApplicationRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.access$300(Unknown Source)
at sun.security.ssl.SSLSocketImpl$AppInputStream.read(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at sun.net.www.MeteredStream.read(Unknown Source)
at java.io.FilterInputStream.read(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
at haven.launcher.Cache.update0(Cache.java:270)
at haven.launcher.Cache.update(Cache.java:332)
at haven.launcher.Resource.update(Resource.java:69)
at haven.launcher.Driver.execute(Driver.java:48)
... 2 more
Suppressed: javax.net.ssl.SSLException: javax.crypto.AEADBadTagException: Tag mismatch!
... 21 more
Caused by: javax.crypto.AEADBadTagException: Tag mismatch!
at com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:620)
at com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1116)
at com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:1053)
at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:941)
at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:491)
at javax.crypto.CipherSpi.bufferCrypt(CipherSpi.java:779)
at javax.crypto.CipherSpi.engineDoFinal(CipherSpi.java:730)
at javax.crypto.Cipher.doFinal(Cipher.java:2463)
at sun.security.ssl.SSLCipher$T12GcmReadCipherGenerator$GcmReadCipher.decrypt(Unknown Source)
at sun.security.ssl.SSLSocketInputRecord.decodeInputRecord(Unknown Source)
at sun.security.ssl.SSLSocketInputRecord.decode(Unknown Source)
... 17 more
Suppressed: javax.net.ssl.SSLException: javax.crypto.AEADBadTagException: Tag mismatch!
... 21 more
Caused by: javax.crypto.AEADBadTagException: Tag mismatch!
at com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:620)
at com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1116)
at com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:1053)
at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:941)
at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:491)
at javax.crypto.CipherSpi.bufferCrypt(CipherSpi.java:779)
at javax.crypto.CipherSpi.engineDoFinal(CipherSpi.java:730)
at javax.crypto.Cipher.doFinal(Cipher.java:2463)
at sun.security.ssl.SSLCipher$T12GcmReadCipherGenerator$GcmReadCipher.decrypt(Unknown Source)
at sun.security.ssl.SSLSocketInputRecord.decodeInputRecord(Unknown Source)
at sun.security.ssl.SSLSocketInputRecord.decode(Unknown Source)
... 17 more
Caused by: javax.crypto.AEADBadTagException: Tag mismatch!
at com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:620)
at com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1116)
at com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:1053)
at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:941)
at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:491)
at javax.crypto.CipherSpi.bufferCrypt(CipherSpi.java:779)
at javax.crypto.CipherSpi.engineDoFinal(CipherSpi.java:730)
at javax.crypto.Cipher.doFinal(Cipher.java:2463)
at sun.security.ssl.SSLCipher$T12GcmReadCipherGenerator$GcmReadCipher.decrypt(Unknown Source)
at sun.security.ssl.SSLSocketInputRecord.decodeInputRecord(Unknown Source)
at sun.security.ssl.SSLSocketInputRecord.decode(Unknown Source)
... 17 more
Last edited by loftar on Tue Jun 08, 2021 1:08 am, edited 1 time in total.
Reason:Added code tags
That really is weird, especially that it fails in a different way. I'm really not at all sure how to even debug that without being able to reproduce it locally so that I could run an interactive debugger through it.
Could it possibly be that you have some "transparent" HTTP proxy (or some software with a similar effect) running that could corrupt the TLS traffic? I wouldn't really know exactly what to look for, I'm just grasping at straws.
"Object-oriented design is the roman numerals of computing." -- Rob Pike
I am of little help here as I've no idea what "TLS" is, nor a "transparent proxy". I can say I played H&H on this system years ago; recently pulled it out of mothballs, replaced the power supply and vid card, and put it back in service ...so everything on it is three years out of date. Updated all drivers, antivirus, and java. Only suspects I can think of are firewall (PC Tools Firewall Plus) and antivirus (Kaspersky).
Have tried with firewall and Kaspersky temporarily disabled, no difference, still throws that error. Windows title bar shows it as "launcher error!".
Have searched "SSLException: javax.crypto.AEADBadTagException: Tag mismatch!" and all results are quite developer oriented, I don't understand a word of it.
Someone suggested copying the launcher folder from laptop to desktop; tried that and get a different error:
java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jre1.8.0_291\bin\management.dll: The specified procedure could not be found
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at sun.management.ManagementFactoryHelper$4.run(Unknown Source)
at sun.management.ManagementFactoryHelper$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.management.ManagementFactoryHelper.<clinit>(Unknown Source)
at java.lang.management.ManagementFactory.getThreadMXBean(Unknown Source)
at haven.DeadlockWatchdog.run(DeadlockWatchdog.java:84)
FWIW, the "unsatisfied link" is same path on both systems.
animary wrote:java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jre1.8.0_291\bin\management.dll: The specified procedure could not be found
That makes it sound as if you have some sort of problem with your Java installation. Not sure exactly what, but I'd try reinstalling it. You might also try OpenJDK instead of Oracle's JRE, see if that makes a difference (just avoid version 16, since it has become incompatible with Java OpenGL).
"Object-oriented design is the roman numerals of computing." -- Rob Pike
It seems that error is endemic to Java 8, I found several threads regarding it while researching this irritant. So, I removed Java 8, also some orphan registry entries for Java 7, reboot and start from scratch. Downloaded openlogic-openjdk-8u262-b10-win-32, extracted it to Program Files and, according to install instructions, added that path to environment variables. Typing "java -version" at command prompt gives "openjdk version 1.8.0-262". Associate .jar file with java.exe, double click autohaven.jar and a blank window opens briefly with the path in the title bar, that's all. Now what?
More research, unfortunately most of what I find is written from a developer's standpoint, not an end user.
Tried running from a command prompt: java -jar autohaven.jar
and get this:
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Program Files\open
logic-openjdk-8u262-b10-win-32\jre\bin\freetype.dll: Can't find dependent librar
ies
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1838)
at java.lang.Runtime.loadLibrary0(Runtime.java:871)
at java.lang.System.loadLibrary(System.java:1124)
at sun.font.FontManagerNativeLibrary$1.run(FontManagerNativeLibrary.java
:59)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerNativeLibrary.<clinit>(FontManagerNativeLibrary.j
ava:32)
at sun.font.SunFontManager$1.run(SunFontManager.java:339)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.SunFontManager.<clinit>(SunFontManager.java:335)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:82)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
at java.awt.Font.getFont2D(Font.java:491)
at java.awt.Font.access$000(Font.java:224)
at java.awt.Font$FontAccessImpl.getFont2D(Font.java:228)
at sun.font.FontUtilities.getFont2D(FontUtilities.java:180)
at sun.font.FontUtilities.fontSupportsDefaultEncoding(FontUtilities.java
:338)
at com.sun.java.swing.plaf.windows.WindowsLookAndFeel$WindowsFontPropert
y.configureValue(WindowsLookAndFeel.java:2293)
at com.sun.java.swing.plaf.windows.DesktopProperty.createValue(DesktopPr
operty.java:154)
at javax.swing.UIDefaults.getFromHashtable(UIDefaults.java:231)
at javax.swing.UIDefaults.get(UIDefaults.java:161)
at javax.swing.MultiUIDefaults.get(MultiUIDefaults.java:64)
at javax.swing.UIDefaults.getFont(UIDefaults.java:388)
at javax.swing.UIManager.getFont(UIManager.java:672)
at javax.swing.LookAndFeel.installColorsAndFont(LookAndFeel.java:208)
at javax.swing.plaf.basic.BasicPanelUI.installDefaults(BasicPanelUI.java
:66)
at javax.swing.plaf.basic.BasicPanelUI.installUI(BasicPanelUI.java:56)
at javax.swing.JComponent.setUI(JComponent.java:666)
at javax.swing.JPanel.setUI(JPanel.java:153)
at javax.swing.JPanel.updateUI(JPanel.java:126)
at javax.swing.JPanel.<init>(JPanel.java:86)
at javax.swing.JPanel.<init>(JPanel.java:109)
at javax.swing.JPanel.<init>(JPanel.java:117)
at javax.swing.JRootPane.createGlassPane(JRootPane.java:546)
at javax.swing.JRootPane.<init>(JRootPane.java:366)
at javax.swing.JFrame.createRootPane(JFrame.java:286)
at javax.swing.JFrame.frameInit(JFrame.java:267)
at javax.swing.JFrame.<init>(JFrame.java:234)
at haven.launcher.AWTStatus.<init>(AWTStatus.java:52)
at haven.launcher.Driver.main(Driver.java:101)