Newsgroup: it.comp.java
Titolo: applet firmate con Explorer

Avrei bisogno del vostro aiuto: ho scritto un applet firmato per
Netscape ed ora mi viene chiesto di farlo funzionare anche sotto
explorer. Purtroppo non ho tempo per fare cose molto sofisticate, mi
dite un metodo per dare ogni permesso all'applet, magari con una singola
istruzione nel metodo init() o qualcosa del genere? Cosi' perlomeno
funzionerebbe...
Grazie mille.
Riccardo Conturbia
-- 
Anche sul trono piu' alto del mondo,
si sta seduti sul proprio culo.
Michel de Montaigne



 

Avrei bisogno del vostro aiuto: ho scritto un applet firmato per

Netscape ed ora mi viene chiesto di farlo funzionare anche sotto

explorer. Purtroppo non ho tempo per fare cose molto sofisticate, mi

dite un metodo per dare ogni permesso all'applet, magari con una singola

istruzione nel metodo init() o qualcosa del genere? Cosi' perlomeno

funzionerebbe...

Grazie mille.

Riccardo Conturbia

Usando il compilatore di microsoft:

        Per creare un certificato:

makecert -sk [KeyName] -n "CN= My Publisher Name"

cert2spc MyTestCert.cer MyTestCert.spc

-- archivio di file .cab

cabarc n [file cab] [file.class] signcode -j javasign.dll -jp [permission] 
-spc  MyTestCert.spc -k [KeyName] file.cab

il file permission lo puoi creare tramite 
piniEdit
 dando FullPermission

Per come farlo con una sola istruzione all'interno di init() non so
aiutarti....

PS:

Come si creano applet firmati con pieno permesso per netscape?

 


 Come si creano applet firmati con pieno permesso per netscape?
Per netscape e' obbligatorio utilizzare del codice proprietario per
assegnare i permessi. Puoi usare la classe che ho allegato, che usa le
classi presenti in java40.jar (che va quindi aggiunto al classpath...)
Poi, prima di effettuare l'operazione che richiede il permesso, usi il
codice:
         if (SecurityContext.isCapableOf("UniversalFileAccess"))
         {
            PrivilegeManager.enablePrivilege("UniversalFileAccess");
         }
naturalmente importando netscape.security.PrivilegeManager. Il codice
non l'ho inventato io, l'ho preso da qualche parte, ma non mi ricordo
piu' bene dove... :( 
Per creare l'archivio jar firmato segui la documentazione di signtool,
e' piuttosto autoesplicativa...
Se tu od altri avete altre info per Explorer, sarei felice di riceverle.


 
Riccardo 



tieni presente che oltre a modificare le istruzioni per i permessi su
Explorer devi anche firmarlo con un certificato diverso (Authenticode 2)
rilasciato da una Certification Authority (ad esempio Verisign...)
--
"I don't care if Monday's blue
Tuesday's grey and Wednesday too
Thursday I don't care about you
It's Friday I'm in love..."

 rilasciato da una Certification Authority (ad esempio Verisign...)
Per il certificato sono ok... sono proprio le istruzioni sui permessi
che mi sfuggono.... :) Se hai info aggiuntive... thanks!
Riccardo (da un altro account, ma sono sempre lo stesso...)
-- 
______________________________________________________
If your hopes scatter like the dust across your track
I'll be the moon that shines on your path
The sun may blind our eyes I'll pray the skies above
For snow to fall on the sahara
			Anggun - Snow on the Sahara -
______________________________________________________

 Nescape?
Guarda l'allegato che ho inviato a Vinc... comunque ora mi spiego
meglio: la mia applet deve leggere e scrivere sul computer locale,
leggere le proprieta' di sistema e collegarsi a destra ed a manca. Per
fare tutte queste cose devo implementare le "Netscape Capabilities API"
ed anche Microsoft ha scritto delle classi per fare cio'. Tu puoi
firmare un applet che ti disegna sullo schermo salve mondo e
naturalmente non ti serve aggiungere nessun codice. Ma se devi fare
operazioni "sensible" lo devi fare. Perlomeno questo e' quello mi hanno
insegnato e, devo dire, sotto netscape funziona.
Sotto explorer mi hanno detto che se scrivi il codice in maniera tale
che le operazioni sensibili non siano inserite nel metodo init() start()
stop() e qualcos'altro, puoi evitare di inserire codice aggiuntivo. Io
non mi sono curato di seguire questa regola, quindi temo dovro' usare le
classi proprietarie di microsoft. Qualcuno sa come potrei fare senza
diventare matto? Questo era il senso della mia domanda.
Ho scritto cose sbagliate? Qualcuno sa come aiutarmi?
Ricky




 explorer. Purtroppo non ho tempo per fare cose molto sofisticate, mi
interessante... non so se hai letto il mio mex di diversi giorni fa sulla
certificazione di applet java
tu hai ottenuto un certificato gratuito per firmare l'applet o te lo sei
creato da solo con il keytool -selfcert ?
Nel secondo caso credo non sia proprio la cosa migliore... che fiducia
attribuisci ad un certificato auto prodotto?
Tutti possono farsene uno! Anzi quanti ne vuoi ^_^
Io ho dato un occhiata in giro e sono riuscito a procurarmi un certificato
gratuito (della Thawte) che può essere usato solo per autenticare la posta
(in OE5) perché é associato al mio indirizzo email... inutile dire che ho
provato a registrare un archivio jar ma non ha funzionato :(
Sono tornato sul loro sito e ho letto che un certificato per applet java si
PAGA (giustamente credo) 200$ il primo anno e 100 i successivi... un po'
troppo per uno studente che vorrebbe solo dimostrare di essere l'autore di
ciò che pubblica... :(


 Nescape?
la firma del software riguarda solo l'autenticita' del software...
In aggiunta e' possibile dare all'applet dei "poteri" che altrimenti non avrebbe
(a causa della sandbox) e per i quali deve chiedere i permessi all'utente.
Inutile dire che l'utente non darebbe nessun permesso se l'applet non fosse
firmato e quindi dimostrasse l'autenticita' della sua origine.
Ciao
