JNLP Signieren

A.T.

Bekanntes Mitglied
Hallo zusammen,

ich haben ein Projekt bei dem die Jars signiert werden müssen. Das Funktionert auch alles wie es soll. Allerdings bekommt man immer die Fehlermeldung das die JNLP-Datei nicht signiert wurde.

Nach etwas suchen im hier im Forum und im Internet bin ich leider nicht schlauer...

So wie ich das im Moment sehe müsste ich meine JNLP-Datei in das Jar mit der Main Methode packen. Die JNLP-Datei müsste in den Ordner JNLP-INF abgelegt werden und die JNLP-Datei müsste APPLICATION.JNLP heißen.

Das hätte aber zur Folge das ich nur eine einzige JNLP-Datei verwenden könnte!? Ich brauche aber mindestens zwei!

Gibt es eine Möglichkeit einen beliebigen Namen zu verwenden?
Ist es überhaupt richtig die JNLP-Datei in den Ordner JNLP-INF abzulegen?
Was ist mit Variabeln wie $$codebase? Können die weiter verwendet werden?

Danke für eure Hilfe!
Gruß
Andreas
 

hansmueller

Bekanntes Mitglied
Hallo,

warum mußt du auch die JNLP-Datei signieren? Das ist eigendlich etwas ungewöhnlich. Den meisten reicht es, wenn die Jars signiert sind.

Ich habe mal das in den Spezifikationen gefunden:
5.4.1 Signing of JNLP Files

A JNLP file can optionally be signed. A JNLP Client must check if a signed version of the JNLP file exists, and if so, verify that it matches the JNLP file that is used to launch the application. If it does not match, then the launch must be aborted. If no signed JNLP file exists, then the JNLP file is not signed, and no check needs to be performed.

A JNLP file is signed by including a copy of it in the signed main JAR file. The copy must match the JNLP file used to launch the application. The signed copy must be named: JNLP-INF/APPLICATION.JNLP. The APPLICATION.JNLP filename should be generated in upper case, but should be recognized in any case.

The signed JNLP file must be compared byte-wise against the JNLP file used to launch the application. If the two byte streams are identical, then the verification succeeds, otherwise it fails.

As described above, a JNLP file is not required to be signed in order for an application to be signed. This is similar to the behavior of Applets, where the Applet tags in the HTML pages are not signed, even when granting unrestricted access to the Applet.

Ich denke mal, wenn du verschiedene JNLPs verwenden willst (Warum überhaupt?), dann kannst du die Sache mit dem signierten JNLP vergessen. Wenn ich es richtig verstehe, ist die ganze Sache nämlich nur darauf ausgelegt, mit nur einer einzigen JNLP zu funktionieren.

MfG
hansmueller
 

A.T.

Bekanntes Mitglied
Danke für deine schnelle Antwort!

Die JNLP soll auch signiert werden, da es immer eine Warnmeldung gibt wenn sie unsigniert ausgeführt wird. Einige Menschen scheint das zu verwirren.
Da hätte ich auch mal reingucken sollen...
Es gibt ein "Hilfsprogramm" das ohne den eigentlich Client ausgeführt werden kann. Das muss leider auch so bleiben. Daher brauche ich mehr als eine JNLP. Da aber die Main Methoden in verschieden Jars liegen, wäre es also doch möglich.

Was ich noch nicht ganz verstehe ist, muss nur die Kopie innerhalb des Jars diesen festgeschrieben Namen haben oder nicht? Dann wäre wirklich nur eine JNLP möglich.
Und zu der Frage ob die Variabeln ersetzt werden bevor oder nachdem geprüft wird, habe ich leider auch nichts gefunden. Wenn Sie vor dem vergleich ersetzt werden wäre das signieren natürlich wieder erfolglos...

Gruß
Andreas
 

hansmueller

Bekanntes Mitglied
Hallo,

A.T. hat gesagt.:
Was ich noch nicht ganz verstehe ist, muss nur die Kopie innerhalb des Jars diesen festgeschrieben Namen haben oder nicht? Dann wäre wirklich nur eine JNLP möglich.
Ich glaube, du kannst der JNLP einen beliebigen Namen geben. Nur innerhalb der Jar muß es halt den Spezifikationen entsprechend benannt werden.

A.T. hat gesagt.:
Und zu der Frage ob die Variabeln ersetzt werden bevor oder nachdem geprüft wird, habe ich leider auch nichts gefunden. Wenn Sie vor dem vergleich ersetzt werden wäre das signieren natürlich wieder erfolglos...
Die JNLP die der Anwender herunterlädt wird mit der JNLP in der Jar verglichen. Nur wenn diese auch binär identisch sind, hält WebStart diese für ok. Wenn du jetzt den Anwender eine JNLP mit irgendwelchen Variablen zuschickst, kann diese auch nicht mit der JNLP in der Jar binär identisch sein.
Du kannst es ja mal ausprobieren. Vielleicht haben die Entwickler an Variablen gedacht. Wenn nicht, Pech gehabt.

Eine etwas aufwendigere Lösung wäre, für jede JNLP, die generiert wird, auch eine Jar mit dieser JNLP zu erstellen und zu signieren und diese dann dem Anwender zukommen zu lassen, der auch die entsprechende JNLP bekommen hat. Diese Lösung ist aber nur unter ganz bestimmten Voraussetzungen machbar.

MfG
hansmueller
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
VfL_Freak Icon einer JNLP-Datei ändern ?? Tools - Maven, Gradle, Ant & mehr 2
D Ant JAR-Ressourcen in JNLP-Datei sind nicht von demselben Zertifikat signiert Tools - Maven, Gradle, Ant & mehr 2
Guybrush Threepwood JNLP Launch-Icon fehlt Tools - Maven, Gradle, Ant & mehr 3
S Webstart Webstart einer Applikation mit einer veralteten JNLP-Datei Tools - Maven, Gradle, Ant & mehr 6
S Webstart JNLP Update Element - kein Info-Fenster über Updates? Tools - Maven, Gradle, Ant & mehr 7
S JNLP und GIF Tools - Maven, Gradle, Ant & mehr 11
jemandzehage .jnlp mit JOGL startet nicht korrekt Tools - Maven, Gradle, Ant & mehr 9
O Webstart Mit Buckminster JNLP erzeugen Tools - Maven, Gradle, Ant & mehr 5
F Webstart JNLP Problem mit LIB Tools - Maven, Gradle, Ant & mehr 3
G Webstart JNLP - AccessControlException Tools - Maven, Gradle, Ant & mehr 18
R Webstart JNLP Signierung Tools - Maven, Gradle, Ant & mehr 13
R Web Start / jnlp datei Tools - Maven, Gradle, Ant & mehr 28
Z Fehlermeldung JNLP Tools - Maven, Gradle, Ant & mehr 3
J JNLP und ein jar mit einer Access DB Tools - Maven, Gradle, Ant & mehr 4
M WebStart Verknüpfung reinstalliert sich - Fehler in JNLP? Tools - Maven, Gradle, Ant & mehr 4
T jnlp-Datei: Fehler in Zeile 0? Tools - Maven, Gradle, Ant & mehr 6
A JNLP Datei aus Application laden Tools - Maven, Gradle, Ant & mehr 4
J [Webstart] jnlp dynamisch erstellen Tools - Maven, Gradle, Ant & mehr 8
S Applet Signieren, Vertrauenswürder und nicht-vertrauenswürdiger Code Tools - Maven, Gradle, Ant & mehr 16
J Applet signieren Tools - Maven, Gradle, Ant & mehr 2
U Zertifikat zum Signieren in keytool laden Tools - Maven, Gradle, Ant & mehr 2
M probleme mit signieren Tools - Maven, Gradle, Ant & mehr 6
X Applets für Datenbankzugriff signieren Tools - Maven, Gradle, Ant & mehr 8
C Applet Mit Server Verbinden - Signieren? Tools - Maven, Gradle, Ant & mehr 5
I Fehler beim Signieren der JAR Dateien für Webstart Tools - Maven, Gradle, Ant & mehr 1
G Jar signieren Tools - Maven, Gradle, Ant & mehr 7
G Mehrere libs mit jarsigner signieren Tools - Maven, Gradle, Ant & mehr 4
F Für Read Zugriff auf Server signieren? Tools - Maven, Gradle, Ant & mehr 8
T Frage wegen Chat-Applet signieren Tools - Maven, Gradle, Ant & mehr 11
F DB Connection geht im Browser nicht trotz signieren Tools - Maven, Gradle, Ant & mehr 4
thE_29 Applet signieren Tools - Maven, Gradle, Ant & mehr 2
Y falsches password beim signieren von applet Tools - Maven, Gradle, Ant & mehr 4
G Applets signieren Tools - Maven, Gradle, Ant & mehr 2
H Probleme beim Applet signieren Tools - Maven, Gradle, Ant & mehr 10
S Applet signieren ohne Jarsigner Tools - Maven, Gradle, Ant & mehr 2
M Applet signieren und damit Rechte geben Tools - Maven, Gradle, Ant & mehr 2
I Applets signieren Tools - Maven, Gradle, Ant & mehr 1

Ähnliche Java Themen

Neue Themen


Oben