We have a custom authorization in our application login page, authorization by using eToken and java (signed jar classes) and applet as login button on page. It's work fine on older and current java versions like 7u67, 7u71 but it's not work on new java version 8u25.
We write a test class named AuthControl without package, we found that problem is in .jar file path, for example:
//applet is loading with no error when client has java version 7u*, but fails if client has java version 8u*
<script src="https://www.java.com/js/deployJava.js"></script>
<script>
var attributes = {code:'AuthControl',
archive:'http://example.com/f?p=getApplet', width:132, height:37}; // problem in the path to the .jar file
var parameters = { scriptable:true, mode:'login' };
var version = '1.6';
deployJava.runApplet(attributes, parameters, version);
</script>
Error is:
...
java.lang.ClassNotFoundException: AuthControl
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 AuthControl not found.
...
But if we use a direct path to the jar file, it's work fine without errors, example:
//applet is loading with no error when client has java version 7u* or 8u*
<script src="https://www.java.com/js/deployJava.js"></script>
<script>
var attributes = {code:'AuthControl',
archive:'http://example.com/myapplet.jar', width:132, height:37};
var parameters = { scriptable:true, mode:'login' };
var version = '1.6';
deployJava.runApplet(attributes, parameters, version);
</script>
Can you please tell me, why this is happens on java 8 version?