This discussion is archived
9 Replies Latest reply: May 11, 2012 11:12 AM by 936595 RSS

Applet failed to load when visited using HTTPs protocol with Java 7

936595 Newbie
Currently Being Moderated
We have a java applet on our website which worked for ages. Then Java 7 came out, people installed it. When people with Java 7 visiting our website using HTTPS, the applet failed to load (ClassNotFoundException). The same site and the same applet, when visit using regular HTTP, it works fine.

People with previous version of Java (1.6.x) can see the applet using either HTTP or HTTPs with no problem.

Anything we can do on our side to resolve this problem for people with Java 7 and like to stay with HTTPS?

Googled and didn't see any relevant result. Any pointer would be much appreciated.
  • 1. Re: Applet failed to load when visited using HTTPs protocol with Java 7
    817614 Explorer
    Currently Being Moderated
    Any tracing from java console output?
    Can you point to the https site so we could take a look?
  • 2. Re: Applet failed to load when visited using HTTPs protocol with Java 7
    936595 Newbie
    Currently Being Moderated
    Thanks for the quick response.
    Not much on the stack trace, did a tread dump below.

    It is an application requires login, please sent and email to desmond.chen@webtechwireless.com and I will sent you the url and login info by email.

    Thanks


    plugin2manager.parentwindowDispose
    Java Plug-in 10.4.0.22
    Using JRE version 1.7.0_04-b22 Java HotSpot(TM) Client VM
    User home directory = C:\Users\dchen
    ----------------------------------------------------
    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>
    ----------------------------------------------------
    Dump thread stack ...
    ----------------------------------------------------
    2012-05-10 17:17:59
    Full thread dump Java HotSpot(TM) Client VM (23.0-b21 mixed mode, sharing):

    "D3D Screen Updater" daemon prio=8 tid=0x04fa1800 nid=0x530 in Object.wait() [0x0a0df000]
    java.lang.Thread.State: TIMED_WAITING (on object monitor)
         at java.lang.Object.wait(Native Method)
         at sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source)
         - locked <0x296c0248> (a java.lang.Object)
         at java.lang.Thread.run(Unknown Source)

    "ConsoleTraceListener" daemon prio=4 tid=0x04fa0000 nid=0x269c in Object.wait() [0x09c8f000]
    java.lang.Thread.State: WAITING (on object monitor)
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:503)
         at com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$ConsoleWriterThread.run(Unknown Source)
         - locked <0x296c0c90> (a com.sun.deploy.uitoolkit.ui.ConsoleTraceListener$BoundedStringBuffer)

    "AWT-EventQueue-1" prio=6 tid=0x04fa2000 nid=0x1730 waiting on condition [0x0a6ce000]
    java.lang.Thread.State: RUNNABLE
         at com.sun.deploy.uitoolkit.ui.ConsoleHelper.dumpAllStacksImpl(Native Method)
         at com.sun.deploy.uitoolkit.ui.ConsoleHelper.dumpAllStacks(Unknown Source)
         at com.sun.deploy.uitoolkit.impl.awt.ui.SwingConsoleWindow$2.actionPerformed(Unknown Source)
         at javax.swing.JComponent$ActionStandin.actionPerformed(Unknown Source)
         at javax.swing.SwingUtilities.notifyAction(Unknown Source)
         at javax.swing.JComponent.processKeyBinding(Unknown Source)
         at javax.swing.KeyboardManager.fireBinding(Unknown Source)
         at javax.swing.KeyboardManager.fireKeyboardAction(Unknown Source)
         at javax.swing.JComponent.processKeyBindingsForAllComponents(Unknown Source)
         at javax.swing.JComponent.processKeyBindings(Unknown Source)
         at javax.swing.JComponent.processKeyEvent(Unknown Source)
         at java.awt.Component.processEvent(Unknown Source)
         at java.awt.Container.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
         at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
         at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
         at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
         at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Window.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
         at java.awt.EventQueue.access$000(Unknown Source)
         at java.awt.EventQueue$3.run(Unknown Source)
         at java.awt.EventQueue$3.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
         at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
         at java.awt.EventQueue$4.run(Unknown Source)
         at java.awt.EventQueue$4.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)

    "TimerQueue" daemon prio=4 tid=0x04f9e000 nid=0x3e0c waiting on condition [0x09f3f000]
    java.lang.Thread.State: WAITING (parking)
         at sun.misc.Unsafe.park(Native Method)
         - parking to wait for <0x24620900> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
         at java.util.concurrent.locks.LockSupport.park(Unknown Source)
         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
         at java.util.concurrent.DelayQueue.take(Unknown Source)
         at javax.swing.TimerQueue.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)

    "AWT-EventQueue-4" prio=4 tid=0x04fa1400 nid=0x255c waiting on condition [0x0945f000]
    java.lang.Thread.State: WAITING (parking)
         at sun.misc.Unsafe.park(Native Method)
         - parking to wait for <0x246209e8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
         at java.util.concurrent.locks.LockSupport.park(Unknown Source)
         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
         at java.awt.EventQueue.getNextEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)

    "Applet 5 LiveConnect Worker Thread" prio=4 tid=0x04f9f400 nid=0x3994 in Object.wait() [0x05d9f000]
    java.lang.Thread.State: WAITING (on object monitor)
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:503)
         at sun.plugin2.main.client.LiveConnectSupport$PerAppletInfo$LiveConnectWorker.run(Unknown Source)
         - locked <0x24620ac8> (a java.lang.Object)
         at java.lang.Thread.run(Unknown Source)

    "AWT-EventQueue-0" prio=6 tid=0x04f9fc00 nid=0x3b2c waiting on condition [0x0608f000]
    java.lang.Thread.State: WAITING (parking)
         at sun.misc.Unsafe.park(Native Method)
         - parking to wait for <0x2979ab70> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
         at java.util.concurrent.locks.LockSupport.park(Unknown Source)
         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
         at java.awt.EventQueue.getNextEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)

    "AWT-Shutdown" prio=6 tid=0x04f9e800 nid=0x244c in Object.wait() [0x0669f000]
    java.lang.Thread.State: WAITING (on object monitor)
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:503)
         at sun.awt.AWTAutoShutdown.run(Unknown Source)
         - locked <0x2979acd8> (a java.lang.Object)
         at java.lang.Thread.run(Unknown Source)

    "TimerQueue" daemon prio=6 tid=0x04fa0c00 nid=0x3914 waiting on condition [0x0a65f000]
    java.lang.Thread.State: WAITING (parking)
         at sun.misc.Unsafe.park(Native Method)
         - parking to wait for <0x29c27340> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
         at java.util.concurrent.locks.LockSupport.park(Unknown Source)
         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
         at java.util.concurrent.DelayQueue.take(Unknown Source)
         at javax.swing.TimerQueue.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)

    "JVM[id=2]-Heartbeat" daemon prio=6 tid=0x04f9ec00 nid=0x3c98 in Object.wait() [0x0687f000]
    java.lang.Thread.State: TIMED_WAITING (on object monitor)
         at java.lang.Object.wait(Native Method)
         at sun.plugin2.main.server.HeartbeatThread.run(Unknown Source)
         - locked <0x2979a7a0> (a sun.plugin2.main.client.PluginMain$Heartbeat)

    "Browser Side Object Cleanup Thread" prio=6 tid=0x04f9d000 nid=0x3ce4 in Object.wait() [0x0710f000]
    java.lang.Thread.State: WAITING (on object monitor)
         at java.lang.Object.wait(Native Method)
         - waiting on <0x2979a958> (a java.lang.ref.ReferenceQueue$Lock)
         at java.lang.ref.ReferenceQueue.remove(Unknown Source)
         - locked <0x2979a958> (a java.lang.ref.ReferenceQueue$Lock)
         at java.lang.ref.ReferenceQueue.remove(Unknown Source)
         at sun.plugin2.main.client.LiveConnectSupport$BrowserSideObjectCleanupThread.run(Unknown Source)

    "CacheCleanUpThread" daemon prio=6 tid=0x04f9dc00 nid=0x2500 in Object.wait() [0x0655f000]
    java.lang.Thread.State: WAITING (on object monitor)
         at java.lang.Object.wait(Native Method)
         - waiting on <0x2979a978> (a com.sun.deploy.cache.CleanupThread)
         at java.lang.Object.wait(Object.java:503)
         at com.sun.deploy.cache.CleanupThread.run(Unknown Source)
         - locked <0x2979a978> (a com.sun.deploy.cache.CleanupThread)

    "CacheMemoryCleanUpThread" daemon prio=6 tid=0x04f9d400 nid=0x1ac4 in Object.wait() [0x0611f000]
    java.lang.Thread.State: WAITING (on object monitor)
         at java.lang.Object.wait(Native Method)
         - waiting on <0x2979aa68> (a java.lang.ref.ReferenceQueue$Lock)
         at java.lang.ref.ReferenceQueue.remove(Unknown Source)
         - locked <0x2979aa68> (a java.lang.ref.ReferenceQueue$Lock)
         at java.lang.ref.ReferenceQueue.remove(Unknown Source)
         at com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run(Unknown Source)

    "SysExecutionTheadCreator" daemon prio=6 tid=0x04f9c800 nid=0x3ff4 in Object.wait() [0x0660f000]
    java.lang.Thread.State: WAITING (on object monitor)
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:503)
         at sun.plugin.util.PluginSysUtil$SysExecutionThreadCreator.run(Unknown Source)
         - locked <0x2979aa88> (a sun.plugin.util.PluginSysUtil$SysExecutionThreadCreator)

    "AWT-Windows" daemon prio=6 tid=0x04f8f000 nid=0x3480 runnable [0x026af000]
    java.lang.Thread.State: RUNNABLE
         at sun.awt.windows.WToolkit.eventLoop(Native Method)
         at sun.awt.windows.WToolkit.run(Unknown Source)

    "Java2D Disposer" daemon prio=10 tid=0x04f8d000 nid=0x1920 in Object.wait() [0x064ff000]
    java.lang.Thread.State: WAITING (on object monitor)
         at java.lang.Object.wait(Native Method)
         at java.lang.ref.ReferenceQueue.remove(Unknown Source)
         - locked <0x2979ad68> (a java.lang.ref.ReferenceQueue$Lock)
         at java.lang.ref.ReferenceQueue.remove(Unknown Source)
         at sun.java2d.Disposer.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)

    "Java Plug-In Pipe Worker Thread (Client-Side)" daemon prio=6 tid=0x04f8a000 nid=0x580 runnable [0x0617f000]
    java.lang.Thread.State: RUNNABLE
         at sun.plugin2.os.windows.Windows.ReadFile0(Native Method)
         at sun.plugin2.os.windows.Windows.ReadFile(Unknown Source)
         at sun.plugin2.ipc.windows.WindowsNamedPipe.read(Unknown Source)
         at sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.read(Unknown Source)
         at sun.plugin2.message.transport.NamedPipeTransport$SerializerImpl.readByte(Unknown Source)
         at sun.plugin2.message.AbstractSerializer.readInt(Unknown Source)
         at sun.plugin2.message.transport.SerializingTransport.read(Unknown Source)
         at sun.plugin2.message.Pipe$WorkerThread.run(Unknown Source)

    "Timer-0" prio=6 tid=0x04f3d800 nid=0x2c38 in Object.wait() [0x0521f000]
    java.lang.Thread.State: WAITING (on object monitor)
         at java.lang.Object.wait(Native Method)
         - waiting on <0x2979b0a8> (a java.util.TaskQueue)
         at java.lang.Object.wait(Object.java:503)
         at java.util.TimerThread.mainLoop(Unknown Source)
         - locked <0x2979b0a8> (a java.util.TaskQueue)
         at java.util.TimerThread.run(Unknown Source)

    "traceMsgQueueThread" daemon prio=6 tid=0x04f19c00 nid=0x3b50 in Object.wait() [0x054cf000]
    java.lang.Thread.State: WAITING (on object monitor)
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:503)
         at com.sun.deploy.trace.Trace$TraceMsgQueueChecker.run(Unknown Source)
         - locked <0x298209e0> (a java.util.ArrayList)
         at java.lang.Thread.run(Unknown Source)

    "Service Thread" daemon prio=6 tid=0x04e80c00 nid=0x2930 runnable [0x00000000]
    java.lang.Thread.State: RUNNABLE

    "C1 CompilerThread0" daemon prio=10 tid=0x04e7c400 nid=0x2648 waiting on condition [0x00000000]
    java.lang.Thread.State: RUNNABLE

    "Attach Listener" daemon prio=10 tid=0x04e7b000 nid=0x1b5c runnable [0x00000000]
    java.lang.Thread.State: RUNNABLE

    "Signal Dispatcher" daemon prio=10 tid=0x04e77c00 nid=0x1bd0 runnable [0x00000000]
    java.lang.Thread.State: RUNNABLE

    "Finalizer" daemon prio=8 tid=0x022e1000 nid=0x3d00 in Object.wait() [0x04c5f000]
    java.lang.Thread.State: WAITING (on object monitor)
         at java.lang.Object.wait(Native Method)
         at java.lang.ref.ReferenceQueue.remove(Unknown Source)
         - locked <0x2979b330> (a java.lang.ref.ReferenceQueue$Lock)
         at java.lang.ref.ReferenceQueue.remove(Unknown Source)
         at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

    "Reference Handler" daemon prio=10 tid=0x022df800 nid=0x3644 in Object.wait() [0x04bdf000]
    java.lang.Thread.State: WAITING (on object monitor)
         at java.lang.Object.wait(Native Method)
         at java.lang.Object.wait(Object.java:503)
         at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
         - locked <0x2979a0c8> (a java.lang.ref.Reference$Lock)

    "main" prio=6 tid=0x0036d800 nid=0x2f40 in Object.wait() [0x00a2f000]
    java.lang.Thread.State: WAITING (on object monitor)
         at java.lang.Object.wait(Native Method)
         at sun.plugin2.message.Queue.waitForMessage(Unknown Source)
         - locked <0x2979b3b8> (a sun.plugin2.message.Queue)
         at sun.plugin2.message.Pipe$1.run(Unknown Source)
         at com.sun.deploy.util.Waiter$1.wait(Unknown Source)
         at com.sun.deploy.util.Waiter.runAndWait(Unknown Source)
         at sun.plugin2.message.Pipe.receive(Unknown Source)
         at sun.plugin2.main.client.PluginMain.mainLoop(Unknown Source)
         at sun.plugin2.main.client.PluginMain.run(Unknown Source)
         at sun.plugin2.main.client.PluginMain.main(Unknown Source)

    "VM Thread" prio=10 tid=0x022de400 nid=0x3cc0 runnable

    "VM Periodic Task Thread" prio=10 tid=0x04ea9000 nid=0x3fd4 waiting on condition

    .main.client.PluginMain.run(Unknown Source)
         at sun.plugin2.main.client.PluginMain.main(Unknown Source)

    "VM Thread" prio=10 tid=0x022de400 nid=0x3cc0 runnable

    "VM Periodic Task Thread" prio=10 tid=0x04ea9000 nid=0x3fd4 waiting on condition


    ----------------------------------------------------
    Done.
  • 3. Re: Applet failed to load when visited using HTTPs protocol with Java 7
    817264 Journeyer
    Currently Being Moderated
    Stack trace does not help much.

    Please enable trace with all details (see instruction here: http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-Desktop/html/plugin.html#gcexdf)
  • 4. Re: Applet failed to load when visited using HTTPs protocol with Java 7
    936595 Newbie
    Currently Being Moderated
    Does this help?
    security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.
    security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws
    security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws
    security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy
    security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy
    security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
    security: property package.definition value null
    security: property package.definition new value com.sun.javaws
    security: property package.definition value com.sun.javaws
    security: property package.definition new value com.sun.javaws,com.sun.deploy
    security: property package.definition value com.sun.javaws,com.sun.deploy
    security: property package.definition new value com.sun.javaws,com.sun.deploy,com.sun.jnlp
    security: property package.access value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy,com.sun.jnlp
    security: property package.access new value sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
    security: property package.definition value com.sun.javaws,com.sun.deploy,com.sun.jnlp
    security: property package.definition new value com.sun.javaws,com.sun.deploy,com.sun.jnlp,org.mozilla.jss
    network: Cache entry not found [url: https://inst.webtechwireless.com/wtw/jsp/sizzle/, version: null]
    network: Cache entry not found [url: https://inst.webtechwireless.com/wtw/jsp/sizzle/default.class, version: null]
    network: Connecting https://inst.webtechwireless.com/wtw/jsp/sizzle/default.class with proxy=DIRECT
    network: Connecting http://inst.webtechwireless.com:443/ with proxy=DIRECT
    network: Cache entry not found [url: https://inst.webtechwireless.com/wtw/jsp/sizzle/default.class, version: null]
    network: Connecting https://inst.webtechwireless.com/wtw/jsp/sizzle/default.class with proxy=DIRECT
    network: Connecting http://inst.webtechwireless.com:443/ with proxy=DIRECT
    basic: Added progress listener: sun.plugin.util.ProgressMonitorAdapter@179a727
    basic: Plugin2ClassLoader.addURL parent called for https://inst.webtechwireless.com/wtw/jsp/applet/DLogApplet.jar
    network: Cache entry not found [url: https://inst.webtechwireless.com/wtw/jsp/applet/DLogApplet.jar, version: null]
    network: Connecting https://inst.webtechwireless.com/wtw/jsp/applet/DLogApplet.jar with proxy=DIRECT
    network: Connecting http://inst.webtechwireless.com:443/ with proxy=DIRECT
    network: Cache entry not found [url: https://inst.webtechwireless.com/wtw/jsp/applet/DLogApplet.jar, version: null]
    network: Cache entry not found [url: https://inst.webtechwireless.com/wtw/jsp/applet/DLogApplet.jar, version: null]
    network: Connecting https://inst.webtechwireless.com/wtw/jsp/applet/DLogApplet.jar with proxy=DIRECT
    network: Connecting http://inst.webtechwireless.com:443/ with proxy=DIRECT
    network: Connecting https://inst.webtechwireless.com/wtw/jsp/applet/DLogApplet.jar with proxy=DIRECT
    network: Connecting http://inst.webtechwireless.com:443/ with proxy=DIRECT
    javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name
         at sun.security.ssl.ClientHandshaker.handshakeAlert(Unknown Source)
         at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
         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.http.HttpURLConnection.getInputStream(Unknown Source)
         at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
         at com.sun.deploy.net.DownloadEngine.getJarFileWithoutCache(Unknown Source)
         at com.sun.deploy.net.DownloadEngine.downloadJarFileWithoutCache(Unknown Source)
         at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         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$1000(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 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)
    network: Cache entry not found [url: https://inst.webtechwireless.com/wtw/jsp/applet/DLogApplet.jar, version: null]
    network: Connecting https://inst.webtechwireless.com/wtw/jsp/applet/DLogApplet.jar with proxy=DIRECT
    network: Connecting http://inst.webtechwireless.com:443/ with proxy=DIRECT
    network: Cache entry not found [url: https://inst.webtechwireless.com/wtw/jsp/applet/DLogApplet.jar, version: null]
    network: Cache entry not found [url: https://inst.webtechwireless.com/wtw/jsp/applet/DLogApplet.jar, version: null]
    network: Connecting https://inst.webtechwireless.com/wtw/jsp/applet/DLogApplet.jar with proxy=DIRECT
    network: Connecting http://inst.webtechwireless.com:443/ with proxy=DIRECT
    network: Connecting https://inst.webtechwireless.com/wtw/jsp/applet/DLogApplet.jar with proxy=DIRECT
    network: Connecting http://inst.webtechwireless.com:443/ with proxy=DIRECT
    javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name
         at sun.security.ssl.ClientHandshaker.handshakeAlert(Unknown Source)
         at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
         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.http.HttpURLConnection.getInputStream(Unknown Source)
         at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
         at com.sun.deploy.net.DownloadEngine.getJarFileWithoutCache(Unknown Source)
         at com.sun.deploy.net.DownloadEngine.downloadJarFileWithoutCache(Unknown Source)
         at sun.plugin.PluginURLJarFileCallBack$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         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$1000(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 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)
    network: Cache entry not found [url: https://inst.webtechwireless.com/wtw/jsp/sizzle/DlogGrapher.class, version: null]
    network: Connecting https://inst.webtechwireless.com/wtw/jsp/sizzle/DlogGrapher.class with proxy=DIRECT
    network: Connecting http://inst.webtechwireless.com:443/ with proxy=DIRECT
    network: Cache entry not found [url: https://inst.webtechwireless.com/wtw/jsp/sizzle/DlogGrapher/class.class, version: null]
    network: Connecting https://inst.webtechwireless.com/wtw/jsp/sizzle/DlogGrapher/class.class with proxy=DIRECT
    network: Connecting http://inst.webtechwireless.com:443/ with proxy=DIRECT
    java.lang.ClassNotFoundException: DlogGrapher.class
         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 DlogGrapher.class not found.
    java.lang.ClassNotFoundException: DlogGrapher.class
         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: DlogGrapher.class
    basic: Dialog type is not candidate for embedding
    basic: Removed progress listener: sun.plugin.util.ProgressMonitorAdapter@179a727
    security: Reset deny session certificate store
    Java Plug-in 10.4.0.22
    Using JRE version 1.7.0_04-b22 Java HotSpot(TM) Client VM
    User home directory = C:\Users\dchen
    ----------------------------------------------------
    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>
    ----------------------------------------------------

    Edited by: 933592 on May 10, 2012 5:29 PM
  • 5. Re: Applet failed to load when visited using HTTPs protocol with Java 7
    936595 Newbie
    Currently Being Moderated
    I think that we are getting closer:

    The applet was looking to load from here, please not the "," at the end
    https://inst.webtechwireless.com/wtw/jsp/applet/DLogApplet.jar,

    The URL would have been valid without the ,

    here is the Applet tag on the html page
    <script>
         document.write('<applet id="DLogGraph" width="820" height="300" align="baseline" archive="../applet/DLogApplet.jar" code="DlogGrapher.class">');
    </script>
  • 6. Re: Applet failed to load when visited using HTTPs protocol with Java 7
    936595 Newbie
    Currently Being Moderated
    hmm not quiet as simple
    It does try to access
    https://inst.webtechwireless.com/wtw/jsp/applet/DLogApplet.jar... but some how fail to load the class, which is there, under HTTPS.

    The applet works except with HTTPS using Java7

    Thanks
  • 7. Re: Applet failed to load when visited using HTTPs protocol with Java 7
    817264 Journeyer
    Currently Being Moderated
    yes, trace is useful.

    I think this is the key:
    javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name
    at sun.security.ssl.ClientHandshaker.handshakeAlert(Unknown Source)
    I think this is sideffect of "Server name indication (SNI) for JSSE client"
    http://docs.oracle.com/javase/7/docs/webnotes/adoptionGuide/index.html#security

    See
    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7127374
    for details and workarounds (best is to fix server setup i think).
  • 8. Re: Applet failed to load when visited using HTTPs protocol with Java 7
    936595 Newbie
    Currently Being Moderated
    igor wrote:
    yes, trace is useful.

    I think this is the key:
    javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name
    at sun.security.ssl.ClientHandshaker.handshakeAlert(Unknown Source)
    I think this is sideffect of "Server name indication (SNI) for JSSE client"
    http://docs.oracle.com/javase/7/docs/webnotes/adoptionGuide/index.html#security

    See
    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7127374
    for details and workarounds (best is to fix server setup i think).
    Still need help!

    The bug report suggested 3 work-arounds:

    a) jsse.enableSNIExtension=false
    Can't do this in applet, the loading false before it reaches the init() method.
    b) use SSL3 protocol only (warning, security problem)
    Not sure if we can't control this in applet. Is it suggest to control this on the server?
    c) use s=factory.createSocket(); s.connect(host,port); instead of factory=createSocket(host,port);
    Same as a) can't do this in applet.

    You mentioned "better to fix server setup", any pointer to this?
    Many thanks.
  • 9. Re: Applet failed to load when visited using HTTPs protocol with Java 7
    936595 Newbie
    Currently Being Moderated
    OK, solved the problem

    The host name in the https response must be set (and of course must be set correctly)

    In our case, we use Apache, in the conf/extra/httpd-ssl.conf file
    the ServerName value must be set to value the server was referred to. We left it blank and applet runs before java 7 was OK with it.

    <VirtualHost default:443>

    # General setup for the virtual host
    DocumentRoot "/opt/apache/2.2.21/htdocs"
    ServerName inst.webtechwireless.com:443

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points