Invalid TLS padding data

The worst monsters in the Hearthlands warp the fabric of space and time...

Invalid TLS padding data

Postby animary » Sun Jun 06, 2021 11:19 pm

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?


Code: Select all
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
animary
 
Posts: 76
Joined: Wed Feb 23, 2011 4:05 am
Location: Ohio

Re: Invalid TLS padding data

Postby loftar » Mon Jun 07, 2021 12:25 am

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
User avatar
loftar
 
Posts: 8926
Joined: Fri Apr 03, 2009 7:05 am

Re: Invalid TLS padding data

Postby animary » Mon Jun 07, 2021 6:40 pm

Updated Java. Now get this message:

Code: Select all
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
animary
 
Posts: 76
Joined: Wed Feb 23, 2011 4:05 am
Location: Ohio

Re: Invalid TLS padding data

Postby loftar » Tue Jun 08, 2021 1:07 am

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
User avatar
loftar
 
Posts: 8926
Joined: Fri Apr 03, 2009 7:05 am

Re: Invalid TLS padding data

Postby animary » Tue Jun 08, 2021 1:08 pm

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).
animary
 
Posts: 76
Joined: Wed Feb 23, 2011 4:05 am
Location: Ohio

Re: Invalid TLS padding data

Postby animary » Thu Jun 10, 2021 8:35 pm

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.
animary
 
Posts: 76
Joined: Wed Feb 23, 2011 4:05 am
Location: Ohio

Re: Invalid TLS padding data

Postby animary » Fri Jun 11, 2021 3:48 pm

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
 
Posts: 76
Joined: Wed Feb 23, 2011 4:05 am
Location: Ohio

Re: Invalid TLS padding data

Postby loftar » Sun Jun 13, 2021 9:09 pm

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
User avatar
loftar
 
Posts: 8926
Joined: Fri Apr 03, 2009 7:05 am

Re: Invalid TLS padding data

Postby animary » Wed Jun 16, 2021 4:14 am

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?
animary
 
Posts: 76
Joined: Wed Feb 23, 2011 4:05 am
Location: Ohio

Re: Invalid TLS padding data

Postby animary » Thu Jun 17, 2021 6:59 pm

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)
animary
 
Posts: 76
Joined: Wed Feb 23, 2011 4:05 am
Location: Ohio

Next

Return to Bugs

Who is online

Users browsing this forum: No registered users and 10 guests