Menu

#33 SSL on Java 1.8

v1.0_(example)
open
nobody
None
1
2016-06-07
2014-10-18
Anonymous
No

Since I updated Java to 1.8 I have error using latest 5.1.1 wjhk.jupload.jar. On Java 1.7 after putting site on Exception list applet works fine. If my applet is on http both Java it works fine with both Java versions (1.7 latest and 1.8.0_25), but on https it works only with latest 1.7 Java. Below is entry from Java debuger:

Java Plug-in 11.25.2.18
Using JRE version 1.8.0_25-b18 Java HotSpot(TM) Client VM
User home directory = C:\Users\Dejan


c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to <n></n>


basic: Added progress listener: sun.plugin.util.ProgressMonitorAdapter@51f61a
security: Expected Main URL: https://rh1.expesite.com/upload/wjhk.jupload.jar
basic: Plugin2ClassLoader.addURL parent called for https://rh1.expesite.com/upload/wjhk.jupload.jar
security: Blacklist revocation check is enabled
security: blacklist: created: NEED_LOAD, lastModified: 1413580537830
security: blacklist: hasBeenModifiedSince 1413580538797 (we have 1413580537830)
security: Trusted libraries list check is enabled
network: Cache entry found [url: https://rh1.expesite.com/upload/wjhk.jupload.jar, version: null] prevalidated=false/0
cache: Adding MemoryCache entry: https://rh1.expesite.com/upload/wjhk.jupload.jar
cache: Resource https://rh1.expesite.com/upload/wjhk.jupload.jar has expired.
network: Connecting https://rh1.expesite.com/upload/wjhk.jupload.jar with proxy=DIRECT
network: Cache entry not found [url: file:/C:/Program%20Files%20(x86)/Java/jre1.8.0_25/lib/ext/sunec.jar, version: null]
network: Cache entry not found [url: file:/C:/Program%20Files%20(x86)/Java/jre1.8.0_25/lib/ext/sunjce_provider.jar, version: null]
network: Connecting http://rh1.expesite.com:443/ with proxy=DIRECT
network: Connecting https://rh1.expesite.com/upload/wjhk.jupload.jar with proxy=DIRECT
network: Connecting http://rh1.expesite.com:443/ with proxy=DIRECT
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack.connect(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$800(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
at sun.security.ssl.InputRecord.read(Unknown Source)
... 42 more
cache: registerReference: com.sun.deploy.cache.MemoryCache$CachedResourceReference@d2875263: 1
cache: Resource https://rh1.expesite.com/upload/wjhk.jupload.jar has expired.
network: Connecting https://rh1.expesite.com/upload/wjhk.jupload.jar with proxy=DIRECT
network: Connecting http://rh1.expesite.com:443/ with proxy=DIRECT
network: Connecting https://rh1.expesite.com/upload/wjhk.jupload.jar with proxy=DIRECT
network: Connecting http://rh1.expesite.com:443/ with proxy=DIRECT
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack.connect(Unknown Source)
at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$800(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
at sun.security.ssl.InputRecord.read(Unknown Source)
... 40 more
network: Cache entry not found [url: https://rh1.expesite.com/upload/wjhk/jupload2/JUploadApplet.class, version: null]
network: Connecting https://rh1.expesite.com/upload/wjhk/jupload2/JUploadApplet.class with proxy=DIRECT
network: Connecting http://rh1.expesite.com:443/ with proxy=DIRECT
network: Cache entry not found [url: https://rh1.expesite.com/upload/wjhk/jupload2/JUploadApplet.class, version: null]
network: Connecting https://rh1.expesite.com/upload/wjhk/jupload2/JUploadApplet.class with proxy=DIRECT
network: Connecting http://rh1.expesite.com:443/ with proxy=DIRECT
java.lang.ClassNotFoundException: wjhk.jupload2.JUploadApplet
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
basic: load: class wjhk.jupload2.JUploadApplet not found.
java.lang.ClassNotFoundException: wjhk.jupload2.JUploadApplet
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Ignored exception: java.lang.ClassNotFoundException: wjhk.jupload2.JUploadApplet
basic: Dialog type is not candidate for embedding</init></init>

How can I fix this?

Discussion

  • Etienne

    Etienne - 2014-11-15

    I'll check that...

     
  • Etienne

    Etienne - 2014-11-15

    Hi,

    I updated to 1.8.25. Without problems.

    I re-read the log yo submitted.

    I think that the applet tag was wrong, or at least that the 'wjhk.jupload.jar' file doesn't exist on your server, or isn't accessible.

    Etienne

     
  • Etienne

    Etienne - 2014-11-15
    • status: open --> pending
     
  • Anonymous

    Anonymous - 2014-12-02

    Were you able to fix this anyhow? I'm facing the same issue. What I've figured out is that if you disable the TLS1.2 from Java Advanced settings then this will work (or disable both 1.2 & 1.1 if your server only supports 1.0).

    My server only supports TLS1.0 and I had to disable both, 1.1 & 1.2 to make applet work.
    On Java 7 this does not happen, it will automatically use TLS1.0 even though 1.1 is enabled on Java settings. Maybe Java8 has a bug here?

     
    • Anonymous

      Anonymous - 2016-06-07

      Thank you so much for posting this info. I have been fighting an issue where my employer's IT people pushed JAVA JRE 8 u92 to my development machine and I could no longer access the application that we develop and store on a test server! This has been happening to me every 6 to 12 months for several years, and I keep uninstalling their latest JRE and reinstalling a version 7u55, which fixes the issue. This time I wanted to keep investigating and trying things to see if I could figure out WHY it always breaks with a newer JRE. I had tried everything I could find, posted by multiple people dating back 3 years on threads, and NOTHING ever worked until I saw your post above! My setup had TLS 1.0, 1.1, and 1.2 all checked and simply unchecking 1.1 and 1.2 got me back up and running! But there is still a big mystery. I double checked and my colleague’s laptop has TLS 1.0, 1.1 and 1.2 checked and hers can run our applications just fine with the new JRE 8u92 update! She has the same laptop model, same OS, same version of IE11, same version of JAVA, all the same settings in the JAVA panel as I had (prior to modifying my TLS), same settings in IE, same trusted sites, etc. We can find no reason for one of them to behave differently than the other.
      Anyone who has been having similar issues should definitely try unchecking TLS1.1 and 1.2 in their JAVA Advanced Settings panel.
      Thanks a bunch to the above anonymous person. I had spent 5 entire work days fighting with this this time around (and I have fought with it every time they update me, trying to find a solution other than rolling back to a really old 7u55 JRE!

       
  • Etienne

    Etienne - 2014-12-03
    • status: pending --> open
     
  • Etienne

    Etienne - 2014-12-03

    Hum, I'll give it a new try, based on these new info...

     
  • Etienne

    Etienne - 2014-12-06

    Hi,

    I still could not reproduce the issue.

    My understanding there, is that the error occurs when java tries to load the jar file (that is: the JUpload code).

    So it occurs before any line of the jUpload code is executed.

    I still gave it a try, but it probably won"t help:
    As we don't manage this communication level, I took a look on the dependencies. All where not updated since ... a long time. Especially the common-net library, which manages the network communication. Perhaps the attached jar file could solve the problem. But I don't think so.
    Can you tell me if you can test it... and the result of the test.

    It looks more like a java bug, not a jUpload issue.

    Etienne

     
  • Anonymous

    Anonymous - 2016-06-07

    Thank you so much for posting this info. I have been fighting an issue where my employer's IT people pushed JAVA JRE 8 u92 to my development machine and I could no longer access the application that we develop and store on a test server! This has been happening to me every 6 to 12 months for several years, and I keep uninstalling their latest JRE and reinstalling a version 7u55, which fixes the issue. This time I wanted to keep investigating and trying things to see if I could figure out WHY it always breaks with a newer JRE. I had tried everything I could find, posted by multiple people dating back 3 years on threads, and NOTHING ever worked until I saw your post above! My setup had TLS 1.0, 1.1, and 1.2 all checked and simply unchecking 1.1 and 1.2 got me back up and running! But there is still a big mystery. I double checked and my colleague’s laptop has TLS 1.0, 1.1 and 1.2 checked and hers can run our applications just fine with the new JRE 8u92 update! She has the same laptop model, same OS, same version of IE11, same version of JAVA, all the same settings in the JAVA panel as I had (prior to modifying my TLS), same settings in IE, same trusted sites, etc. We can find no reason for one of them to behave differently than the other.
    Anyone who has been having similar issues should definitely try unchecking TLS1.1 and 1.2 in their JAVA Advanced Settings panel.
    Thanks a bunch to the above anonymous person. I had spent 5 entire work days fighting with this this time around (and I have fought with it every time they update me, trying to find a solution other than rolling back to a really old 7u55 JRE!

     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB