jar resources in jnlp file are not signed by the same certificate
May 28th, 2009As mentioned in the last post, i was working on jnlp and trying to show java applet across the web.
keytool -genkey -alias duke -keypass dukekeypasswd -keystore c:\keystore\keystore.jks
After figuring out jarsigner and keytool using the above command, i tried opening the jnlp again and got the below error:
jar resources in jnlp file are not signed by the same certificate
After looking around the net, i found Kirill Grouchnikov’s blog really useful.
jarsigner -certs -verbose -verify <jarname>.jar
The above command would verify that the jar has made up of different certs. one of them you own, the other another vendor. For most cases, the vendor would be Sun Microsystem.
thus, create another jnlp for the sun microsystem and reference it to the original one. The below shows the example of what i did for my freetts java app.
<?xml version=”1.0″ encoding=”UTF-8″?>
<jnlp spec=”1.0+” codebase=”http://137.132.146.70:8080/tts/Player/” href=”sun.jnlp”>
<information>
<title>sun</title>
<vendor>Sun Microsystems Laboratories</vendor>
<offline-allowed/>
</information>
<offline-allowed/>
<resources>
<jar href=”cmu_time_awb.jar”/>
<jar href=”freetts.jar”/>
<jar href=”en_us.jar”/>
<jar href=”cmutimelex.jar”/>
<jar href=”jsapi.jar”/>
</resources>
<component-desc/>
</jnlp>
and placed the line
  <extension name=”sun” href=”sun.jnlp” />
to the original jnlp file to reference the sun.jnlp.
and your error is solved.. =)
and here..
http://137.132.146.70:8080/tts/Player/tts.jnlp
this is what i did.. but the framework managed to come across the web.. but theres some problem with the main jar file which im looking into..
cheers. =)
