# JavaWebStart: Jar-Signier Problem



## kirashet (21. Sep 2003)

Hallo, liebe Leute,

ich hab eine kleine Applikation unter Verwendung der JavaMail API geschrieben. Jetzt wollte ich es ermöglichen, das Programm über WebStart starten zu können.

Ich habe beide Jars vor dem hochladen (meinApp.jar, mail.jar) mit dem jarsigner signiert.
Die Mail.jar habe ich in den .jnlp-File als Ressource angegeben.

Wenn ich das Programm jetzt starten möchte, bekomme ich folgende Fehlermeldung: "Mehr als ein Zertifikat verwendet zum Signieren von Ressource: xxx/mail.jar".

Es wurde aber derselbe Key verwendet.

Wenn ich die mail.jar nicht signiere, sagt WebStart, dass es nicht signiert ist. Und wenn die mail.jar im .jnlp-File nicht als Ressource angegeben ist, findet er die Klassen/Methoden nicht.

Was mache ich nur falsch?

Auf eine Antwort würde ich mich riesig freuen.

Gruss
Kirashet


----------



## Javahnsinn (18. Jun 2004)

Hallo, Kirashet

spät kömmt sie, doch sie kömmt - die Antwort. Bin nämlich über das gleiche Problem gestolpert und hab recherchiert.
Also:

die mail.jar ist offenbar schon signiert. Lass sie so wie sie ist, ohne eigene Signatur, und binde sie als Extension ein. Eine Extension ist ein eigenes JNLP-File, das im "Haupt"-JNLP so referenziert wird (Beispiel aus meiner ReFlector-Anwendung, die das von SUN signierte JavaHelp-Archiv jhall.jar verwendet):

Der Application-Descriptor "reflector.jnlp" sieht so aus (Auszug):

```
<resources>
	...
	<jar href="reflector.jar" main="true"/>
	
	<extension href="jhelp.jnlp">
			<ext-download ext-part="javahelp"/>
	</extension>
...
</resources>
...
<application-desc>
```
Und der Component-Descriptor, auf den im href-Attribut des Extension-Tags verwiesen wird, so (Auszug):

```
...
<resources>
	
	<jar href="jhall.jar" part="javahelp"/>
</resources>
<component-desc/>
...
```

Hoffe, der Tip kommt noch zeitig...

Gruß, Jürgen
Javahnsinn


----------

