0 Replies Latest reply: May 15, 2013 8:55 AM by 1007847 RSS

    Signed JNLP doubles the number of Security Dialogs

    1007847
      I have an Eclipse RCP application that is deployed via WebStart. We have not been signing our top level JNLP and as a result launching the client results in the following dialog with the yellow warning icons. I found a posting about adding the JNLP to the main jar as JNLP-INF/APPLICATION.JNLP (http://jcp.org/aboutJava/communityprocess/maintenance/jsr056/jnlp-7_0-changes.html) . Then when the main jar is signed, the JNLP will be "signed" and the warnings on the launch dialog will be changed to informational.

      When I make this change to my main jar and launch the application, I do indeed get the java icon and the blue information shield but my users are prompted with the "Do you want to run this application" twice. JNLP file that is in the top level application directory with an exact copy in the main jar JNLP-INF/APPLICATION.JNLP file. JNLP file provided below:

      <?xml version="1.0" encoding="UTF-8"?>
      <jnlp spec="1.0+" codebase="http://local.mycompany.COM/Client" href="client.jnlp">
      <information>
      <title>Client</title>
      <vendor>mycompany</vendor>
      <description>Client Application</description>
      <shortcut>
      <desktop/>
      </shortcut>
      </information>
      <security>
      <all-permissions/>
      </security>
      <update check="always" policy="always"/>
      <resources>
      <jar href="plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar"/>
      <extension name="Wrapper feature" href="features/com.mycompany.client.feature_0.7.0.jnlp" />
      <property name="osgi.instance.area" value="@user.home"/>
      <property name="osgi.configuration.area" value="@none"/>
      <property name="osgi.configuration.cascaded" value="false"/>
      <property name="osgi.bundles" value="org.eclipse.equinox.event@2:start,org.eclipse.equinox.ds@2:start,org.eclipse.core.runtime@4:start,org.eclipse.equinox.common@2:start"/>
      <property name="eclipse.application" value="com.mycompany.client.application"/>
      <!-- Valid log levels are INFO, WARNING, ERROR -->
      <property name="logLevel" value="ERROR"/>
      <property name="logFile" value="client.log"/>
      </resources>
      <resources os="Windows" arch="x86">
      <j2se version="1.6+" />
      </resources>
      <application-desc main-class="org.eclipse.equinox.launcher.WebStartMain">
      <argument>-nosplash</argument>
      </application-desc>
      </jnlp>

      Side note, with the upgrade to Java 7 Update 21 and an unsigned JNLP our users get the Run prompt plus 14 do you want to install... prompts. When the JNLP is signed this doubles and then now have 2 run prompts and 28 install prompts. Totally unacceptable