JDK-8134109 : Applet2Manager.getMainDeploymentRuleSet ignores jar version.
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 7u79,8u45,9
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2015-08-20
  • Updated: 2017-08-01
  • Resolved: 2015-08-26
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
8u51Fixed 9 b82Fixed
in Applet2Manager, the implementation of getMainDeploymentRuleSet(URL loc) creates CodeRef with:
            CodeRef codeRef = new CodeRef(loc, null, isCodebase, false);
second arg (jar version) is always null, instead of fetching the jar version (which may have been set by parameter "cache_version" that has previously been set in the AppContext.
code should be:
            String version = (String) ToolkitStore.get().getAppContext().get(
                Config.APPCONTEXT_KEY_PREFIX + loc));
            CodeRef codeRef = new CodeRef(loc, version, isCodebase, false);

As a result of this problem, a customer is seeing problems using 8u45 with DRS containing cert based rules.
The same problem exists in 7uX, 8uX, and JDK9

Verified with jre9-b180 on win7/x86/IE11

crucible review: https://java.se.oracle.com/code/cru/CR-JDK9CLIENT-1273