Newsgroup: it.comp.java
Titolo: java web start firmare jar

Ciao a tutti vado subito al sodo:
ho provato a fare girare una mia applicazione richiamandola con java
web start ma quando richiama l'installer e installa la jre necessaria,
dopo dovrebbe avviare la mia applicazione invece mi dice che ci sono
errori di protezione o meglio credo che il jar dichiarato nel file jnlp
non èfirmato (come si deve), ho tentato ad usare keytool e jarsigner
ma a quanto sembra senza successo perchè l'errore continua ad essere
lo stesso
Mi sono letto i tutorial e tutto quello che ho trovato in rete ma senza
successo, sicuramente sbaglio una stupidaggine, a proposito io l'ho
fatto con jdeveloper anche se ho firmato il jar  da riga di comando, ma
mi chiedo non  c'è un modo per farlo con eclipse da interfaccia
grafica? (parlo di eclipse perchè è il più usato e forse qualcuno di
voi può averlo già fatto)almeno sono sicuro di non fare errori dato
che è la prima volta .grazie

Continuo senza soste a far funzionare la mia applicazione richiamandola
con java web start ma niente...
Vi spiego in dettaglio i miei tentativi:
HO creato una classe di prova facile facile:
package mypackage;
import java.awt.*;
import javax.swing.*;
public class Test2 {
  public static void main(String[] v){
   JFrame f = new JFrame("Esempio 1");
   // crea un nuovo JFrame Inizialmente invisibile
  // con titolo "Esempio 1"
    f.setSize(new Dimension(300,150));
    f.show();
 // mostra il JFrame
  }
}
poi creo dal mio IDE (JDeveloper) un file .deploy dal quale ottengo il
file .jar
nel mio caso si chiama archive1.jar
creo sempre dall'ide il file .jnlp dicendogli informazioni del tipo
quale .jar deve prendere
l'ide mi crea anche la pagina html per richiamare la mia applicazione
l'accesso è consentito a tutti(all permission)
poi attraverso la command-line uso keytool per crearmi le chiavi per
firmare il jar ottenuto
prima però creo una cartella certificates in  C:\oracle\ora92d\jdk
dove metterò il mio keystore
C:\oracle\ora92d\jdk\bin>keytool -genkey -keystore
C:\oracle\ora92d\jdk\certific
ates\keystore -alias miaChiave
Immettere la password del keystore:  test
verifico che tutto è andato per il meglio:
C:\oracle\ora92d\jdk\bin>keytool -list -keystore
c:\oracle\ora92d\jdk\certificates\keystore
Immettere la password del keystore:  test
ed ottengo:
Tipo keystore: jks
Provider keystore: SUN
Il keystore contiene 1 entry
miachiave, 12-set-2006, keyEntry,
Impronta digitale certificato (MD5):
16:BC:80:F9:A6:51:44:18:D7:2D:81:7A:3D:20:E:C:35
bene adesso firmo il mio jar con jarsigner:
C:\oracle\ora92d\jdk\bin>jarsigner -keystore
C:\oracle\ora92d\jdk\certificates\k
eystore -storepass test -keypass test
C:\oracle\ora92d\jdk\certificates\archive1.jar miaChiave
noto subito che il mio jar è aumentato come dimensione ma per
verificare che tutto è andato per il meglio:
C:\oracle\ora92d\jdk\bin>jarsigner -verify
C:\Workspace2\Project1\deploy\archive1.jar
jar verified.
benissimo
vado a lanciare la mia applicazione, la prima volta installa pure la
jre(dipende dalla versione che gli ho richiesto) se mancante; e poi
tenta di avviare la mia applicazione ma esce  un'eccezione lamentandosi
che archive1.jar è una risorsa non firmata
bene dico io e adesso che faccio?
Spero di essere stato esauriente, sono  stato un pò noioso ma era
quasi inevitabile
ciao e grazie

questa è l'eccezione riportata :
at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(Unknown
Source)
	at com.sun.javaws.LaunchDownload.checkSignedResources(Unknown
Source)
	at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
	at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
	at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
	at com.sun.javaws.Launcher.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
ciao..

sono riuscito a risolvere, probabilmente sbagliavo il percorso della
classe dove c'era il main dato che la dicitavo senza sceglierla
premendo il pulsante browser.
Sono sempre gli errori più banali che mi bloccano per maggior tempo,
comunque ora fa
quello che deve fare tranne una fastidiosa apparizione che vorrei
inibire, non visualizzare insomma, assieme all'avvio della mia
applicazione, e cioè la visualizzazione del popup della console di
java web start.
sono andato a vedere sulle impostazioni di questo plug-in sul pannnello
di controllo e ho visto che nella scheda base "Mostra console Java" non
riporta il segno di spunta onde per cui non dovrebbe essere
visibile..invece come ti sbagli appare in tutto il suo splendore per
quanto riguarda le impostazione del browser non vedo cosa dovrei
modificare tra le impostazioni avanzate
è vero che anche le demo della sun  avviano la console! ma nel mio
caso sarebe meglio che non apparisse, qualche idea?
Grazie ciao
riccardo ha scritto:
