Newsgroup: it.comp.java
Titolo: Help per applet firmata

Ciao a Tutti!
sto creando un applet che deve eseguire un programma che si trova sul 
client perciò mi serve che l'applet sia firmata. Ora io ho creato la mia 
classe e il mio file .jar, l'ho anche firmato seguendo le istruzioni 
presenti su 
http://developer.java.sun.com/developer/technicalArticles/Security/Signed
/
usando il keytool.
Quando carico la pagina html con l'applet mi appare giustamente un popup 
che mi avvisa che l'applet è firmata e mi chiede se voglio concedere i 
permessi che mi chiede. Dopo aver cliccato su concedi solo per questa 
sessione l'applet non viene caricata e nella consolle Java mi dà il 
seguente messaggio:
ava.lang.SecurityException: class "Launcher$1"'s signer information does 
not match signer information of other classes in the same package
	at java.lang.ClassLoader.checkCerts(ClassLoader.java:575)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:503)
	at java.security.SecureClassLoader.defineClass
[...]
Ora la mia applet è formata da una sola classe e da nessun package, non 
mi sono creato un package custom vista la semplicita dell'applet.
il codice HTML che carica l'applet è il seguente:
<APPLET CODE = "Launcher.class" archive="SignedLauncher.jar" NAME = 
"Launcher" WIDTH = 320 HEIGHT = 40 ALIGN    = middle>
    <PARAM name="ButtonLabel" value="Lancia il Software Package Editor">
    <PARAM name="ProgramToRun" value="notepad.exe">
</APPLET>
Qualcuno ha qualche idea?
Grazie
Daniele

 [...]
Hai esportato il certificato anche sul client sul quale scarichi
l'applet????
--
    (@ @)
-o00-(_)-00o--->Stefano
...gli uomini con talento trovano delle soluzioni...
      ...i geni invece, scoprono dei problemi...

 l'applet????
Come si fa? io ho seguito l'esempio fatto sul sito della sun ho anche
esportato il certificato in un file .cer ma poi? Nel documento dice
inoltre di importare il certificato come un certificato trusted e creare
un policy file ma io ho visto un esempio chiamato writeFile, sempre sul
sito della sun, che mi ha solo chiesto se volevo concedere all'applet i
permessi, io ho cliccato su "solo per questa  sessione" e l'applet ha
funzionato senza problemi, anche il codice di quest'applet era molto
semplice ed era una sola classe come la mia. Perchč la mia non va e
quell'esempio della sun va? 
ciao
Daniele

 un policy file ma io ho visto un esempio chiamato writeFile, sempre sul
...riguardo l'esempio sul sito della SUN non so' cosa dirti...
Per quanto rigurada l'esportazione dei certificati utilizza il keytool...
es:
keytool -export -keystore <il_tuo_store>  -alias <il_tuo_alias> -file
<file_di_destinazione>
il keytool ti genera un file file_di_destinazione...
copia questo file nel client sul quale farai girare l'applet e importalo nel
keystore locale sempre attraverso il keytool...
es.
keytool -import -keystore <nome_keystore_locale> -alias
<alias_che_vuoi_tu> -file <il_file_che_hai_importato>
richiama l'applet... e dovrebbe funzionare tutto....
Fammi sapere


 Fammi sapere
Allora i passi che io ho seguito sono i seguenti:
1. Compilazione
2. crazione del jar
3. Firma del jar
L'esportazione della chiave non l'ho fatta perchè ho cercato di far 
girare l'applet sulla macchina locale sulla quale ho creato la chiave per 
firmare l'applet, quindi dovrei già avere tutto quello che mi serve per 
far girare l'applet.
Ho anche creato un file .keystore nella mia home directory dove c'è la 
chiave ceh ho usato per firmare l'applet.
Ho provato per sicurezza ad importare il certificato con un alias diverso 
ma mi dice che esiste già con un altro alias...
Forse mi sfugge qualcosa, illuminami...
Grazie
DFaniele