1

With a new Griffon (v0.9.4) app, having nothing more done to it than to install plugins that will be needed for the project later, I am unable to griffon run-applet or run-webstart on the project. The error I get is JAR resources in JNLP file are not signed by same certificate

Here is the Launch File:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE jnlp SYSTEM "http://java.sun.com/dtd/JNLP-1.5.dtd">
<jnlp
    version="0.1"
    codebase="file:/C:/Users/[REDACTED]/Client/staging/"
    href="applet.jnlp"
>
    <information>
        <title>Client 0.1</title>
        <vendor>[REDACTED]</vendor>
        <homepage href="http://localhost/Client"/>
        <!--fallback description-->
        <description>Client 0.1</description>
        <description kind="one-line">Client 0.1</description>
        <description kind="short">Client 0.1</description>
        <description kind="tooltip">Client 0.1</description>
        <!-- fallback icon -->
        <icon href="griffon-icon-48x48.png" kind="default" width="48" height="48"/>
        <!-- icon used for splash screen -->
        <icon href="griffon.png" kind="default" width="391" height="123"/>
        <!-- icon used in menu -->
        <icon href="griffon-icon-16x16.png" kind="default" width="48" height="48"/>
        <!-- icon used on desktop -->
        <icon href="griffon-icon-32x32.png" kind="default" width="32" height="32"/>
<!-- to create shortcuts, uncomment this
        <shortcut online="true">
            <desktop/>
            <menu submenu="Client"/>
        </shortcut>
-->
        <offline-allowed/>
    </information>
    <security>
        <all-permissions/>
        <!--<j2ee-application-client-permissions/>-->
    </security>
    <resources>
        <property name="griffon.runmode" value="applet"/>
        <property name="jnlp.packEnabled" value="true"/>
        <j2se version="1.5+" />
        <!-- auto-added jars follow, griffon-rt, app, and groovy -->
        <jar href='griffon-rt-0.9.4.jar' main='true'/>
        <jar href='Client.jar' main='false' />
        <jar href='commons-0.2.jar'/>
        <jar href='commons-beanutils-1.8.0.jar'/>
        <jar href='commons-codec-1.3.jar'/>
        <jar href='commons-collections-3.2.1.jar'/>
        <jar href='commons-lang-2.4.jar'/>
        <jar href='ezmorph-1.0.6.jar'/>
        <jar href='griffon-i18n-addon-0.4.1.jar'/>
        <jar href='griffon-jbusycomponent-addon-0.5.2.jar'/>
        <jar href='griffon-jxlayer-addon-0.2.jar'/>
        <jar href='griffon-miglayout-addon-0.3.jar'/>
        <jar href='griffon-rest-addon-0.7.1.jar'/>
        <jar href='groovy-all-1.8.2.jar'/>
        <jar href='http-builder-0.5.1.jar'/>
        <jar href='httpclient-4.0.3.jar'/>
        <jar href='httpcore-4.0.1.jar'/>
        <jar href='jbusycomponent-1.2.1.jar'/>
        <jar href='jcl-over-slf4j-1.6.1.jar'/>
        <jar href='json-lib-2.3-jdk15.jar'/>
        <jar href='jul-to-slf4j-1.6.1.jar'/>
        <jar href='jxlayer-3.0.4.jar'/>
        <jar href='log4j-1.2.16.jar'/>
        <jar href='miglayout-3.7.4.jar'/>
        <jar href='multiplegradientpaint-1.0.jar'/>
        <jar href='nekohtml-1.9.9.jar'/>
        <jar href='org.springframework.beans-3.0.5.RELEASE.jar'/>
        <jar href='org.springframework.context-3.0.5.RELEASE.jar'/>
        <jar href='org.springframework.core-3.0.5.RELEASE.jar'/>
        <jar href='signpost-commonshttp4-1.2.1.1.jar'/>
        <jar href='signpost-core-1.2.1.1.jar'/>
        <jar href='slf4j-api-1.6.1.jar'/>
        <jar href='slf4j-log4j12-1.6.1.jar'/>
        <jar href='swing-worker-1.1.jar'/>
        <jar href='swingx-beaninfo-1.6.2-2.jar'/>
        <jar href='swingx-core-1.6.2-2.jar'/>
        <jar href='swingxbuilder-0.1.8.1.jar'/>
        <jar href='timingframework-1.0.jar'/>
        <jar href='xml-resolver-1.2.jar'/>
        <!-- Add all extra jars below here, or the app may break -->


    </resources>
<resources os='Windows' arch='x86'>
</resources>
  <applet-desc
      documentbase="file:/C:/Users/[REDACTED]/Client/staging/"
      name="ClientApplet"
      main-class="griffon.swing.SwingApplet"
      width="320"
      height="240">
      <!-- params are ignored when referenced from web page for 6u10 -->
    <!--<param name="key1" value="value1"/>-->
    <!--<param name="key2" value="value2"/>-->

  </applet-desc>
</jnlp>

Here is the Exception:

JNLPException[category: Launch File Error : Exception: null : LaunchDesc: 
<jnlp spec="1.0+" codebase="file:/C:/Users/[REDACTED]/Client/staging/" version="0.1" href="file:/C:/Users/[REDACTED]/Client/staging/applet.jnlp">
  <information>
    <title>Client 0.1</title>
    <vendor>[REDACTED]</vendor>
    <homepage href="http://localhost/Client"/>
    <description>Client 0.1</description>
    <description kind="short">Client 0.1</description>
    <description kind="one-line">Client 0.1</description>
    <description kind="tooltip">Client 0.1</description>
    <icon href="file:/C:/Users/[REDACTED]/Client/staging/griffon-icon-48x48.png" height="48" width="48" kind="default"/>
    <icon href="file:/C:/Users/[REDACTED]/Client/staging/griffon.png" height="123" width="391" kind="default"/>
    <icon href="file:/C:/Users/[REDACTED]/Client/staging/griffon-icon-16x16.png" height="48" width="48" kind="default"/>
    <icon href="file:/C:/Users/[REDACTED]/Client/staging/griffon-icon-32x32.png" height="32" width="32" kind="default"/>
    <offline-allowed/>
  </information>
  <security>
    <all-permissions/>
  </security>
  <update check="timeout" policy="always"/>
  <resources>
    <property name="griffon.runmode" value="applet"/>
    <java version="1.5+"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/griffon-rt-0.9.4.jar" download="eager" main="true"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/Client.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/commons-0.2.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/commons-beanutils-1.8.0.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/commons-codec-1.3.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/commons-collections-3.2.1.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/commons-lang-2.4.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/ezmorph-1.0.6.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/griffon-i18n-addon-0.4.1.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/griffon-jbusycomponent-addon-0.5.2.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/griffon-jxlayer-addon-0.2.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/griffon-miglayout-addon-0.3.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/griffon-rest-addon-0.7.1.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/groovy-all-1.8.2.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/http-builder-0.5.1.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/httpclient-4.0.3.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/httpcore-4.0.1.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/jbusycomponent-1.2.1.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/jcl-over-slf4j-1.6.1.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/json-lib-2.3-jdk15.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/jul-to-slf4j-1.6.1.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/jxlayer-3.0.4.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/log4j-1.2.16.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/miglayout-3.7.4.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/multiplegradientpaint-1.0.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/nekohtml-1.9.9.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/org.springframework.beans-3.0.5.RELEASE.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/org.springframework.context-3.0.5.RELEASE.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/org.springframework.core-3.0.5.RELEASE.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/signpost-commonshttp4-1.2.1.1.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/signpost-core-1.2.1.1.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/slf4j-api-1.6.1.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/slf4j-log4j12-1.6.1.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/swing-worker-1.1.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/swingx-beaninfo-1.6.2-2.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/swingx-core-1.6.2-2.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/swingxbuilder-0.1.8.1.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/timingframework-1.0.jar" download="eager" main="false"/>
    <jar href="file:/C:/Users/[REDACTED]/Client/staging/xml-resolver-1.2.jar" download="eager" main="false"/>
  </resources>
  <applet-desc name="ClientApplet" main-class="griffon.swing.SwingApplet" documentbase="file:/C:/Users/[REDACTED]/Client/staging/" width="320" height="240"/>
</jnlp> ]
    at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(LaunchDownload.java:1798)
    at com.sun.javaws.LaunchDownload.checkSignedResources(LaunchDownload.java:1508)
    at com.sun.javaws.Launcher.prepareResources(Launcher.java:1231)
    at com.sun.javaws.Launcher.prepareAllResources(Launcher.java:620)
    at com.sun.javaws.Launcher.prepareToLaunch(Launcher.java:326)
    at com.sun.javaws.Launcher.prepareToLaunch(Launcher.java:198)
    at com.sun.javaws.Launcher.launch(Launcher.java:115)
    at com.sun.javaws.Main.launchApp(Main.java:417)
    at com.sun.javaws.Main.continueInSecureThread(Main.java:249)
    at com.sun.javaws.Main$1.run(Main.java:111)
    at java.lang.Thread.run(Unknown Source)

I'm not really sure where to begin looking for how to fix this, but I would think that it should be able to work out-of-the-box.

Andrew Thompson
  • 168,117
  • 40
  • 217
  • 433
cdeszaq
  • 30,869
  • 25
  • 117
  • 173

2 Answers2

1

Looks like one of those dependencies comes with its own signature and the packaging process does not remove it. This could probably be a bug in the $GRIFFON_HOME/scripts/Package.groovy

Andres Almiray
  • 3,236
  • 18
  • 28
1

Different extensions can use different code signing certificates. Presuming that the Jars must stay signed by whoever signs them now, move those Jars into their own extension(s). See the component-desc Element for further details.


As an aside, there are a number of suspect aspects to the JNLP file shown. Make sure you validate it using JaNeLA.

Andrew Thompson
  • 168,117
  • 40
  • 217
  • 433
  • The bit about the JNLP file possibly being sub-par is interesting, since it's the file Griffon generates. – cdeszaq May 14 '12 at 14:39