2 Replies Latest reply: May 29, 2014 9:00 AM by user11136527 RSS

    JRE 7 update 51 and the extension mechanism

    user11136527

      I've developed an applet that uses Java extension mechanism to install an extension package. Both JARs are signed, and I have put this in the manifest:


      Permissions: all-permissions
      Codebase: *
      Application-Library-Allowable-Codebase: *
      Caller-Allowable-Codebase: *


      It works fine with the JRE 1.7 update 45, but with the last version of the JRE (1.7 update 51), I get the following error (NullPointer):


      java.lang.NullPointerException
        at com
      .sun.deploy.security.DeployManifestChecker.verifyCodebase(Unknown Source)
        at com
      .sun.deploy.security.DeployManifestChecker.verifyApplicationLibraryAllowableCodebase(Unknown Source)
        at com
      .sun.deploy.security.DeployManifestChecker.verify(Unknown Source)
        at com
      .sun.deploy.security.DeployManifestChecker.verify(Unknown Source)
        at com
      .sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
        at sun
      .plugin.extension.ExtensionInstallationImpl.verifyJar(Unknown Source)
        at sun
      .plugin.extension.ExtensionInstallationImpl.access$100(Unknown Source)
        at sun
      .plugin.extension.ExtensionInstallationImpl$1.run(Unknown Source)
        at java
      .security.AccessController.doPrivileged(Native Method)
        at sun
      .plugin.extension.ExtensionInstallationImpl.installExtension(Unknown Source)
        at sun
      .misc.ExtensionDependency.installExtension(Unknown Source)
        at sun
      .misc.ExtensionDependency.checkExtension(Unknown Source)
        at sun
      .misc.ExtensionDependency.checkExtensions(Unknown Source)
        at sun
      .misc.ExtensionDependency.checkExtensionsDependencies(Unknown Source)
        at com
      .sun.deploy.security.DeployURLClassPath$JarLoader.parseExtensionsDependencies(Unknown Source)
        at com
      .sun.deploy.security.DeployURLClassPath$JarLoader.getClassPath(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$1.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)


      But if I copy the package extension in the lib/ext directory of the JRE, then the applet works.