N.B. uso Linux JDK1.5 e Netbeans 4.1 e il file .java.policy e' uguale
nelle 2 macchine
java.security.AccessControlException: access denied
(java.net.SocketPermission mobileNetworkApplet.class resolve)
at
java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
at
java.security.AccessController.checkPermission(AccessController.java:427)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkConnect(SecurityManager.java:1031)
at java.net.InetAddress.getAllByName0(InetAddress.java:1117) at
java.net.InetAddress.getAllByName0(InetAddress.java:1098) at
java.net.InetAddress.getAllByName(InetAddress.java:1061) at
java.net.InetAddress.getByName(InetAddress.java:958) at
java.net.InetSocketAddress.<init>(InetSocketAddress.java:124) at
sun.net.NetworkClient.doConnect(NetworkClient.java:157) at
sun.net.NetworkClient.openServer(NetworkClient.java:118) at
sun.net.ftp.FtpClient.openServer(FtpClient.java:488) at
sun.net.ftp.FtpClient.openServer(FtpClient.java:475) at
sun.net.www.protocol.ftp.FtpURLConnection.connect(FtpURLConnection.java:270)
at
sun.net.www.protocol.ftp.FtpURLConnection.getInputStream(FtpURLConnection.java:352)
at sun.applet.AppletClassLoader.getBytes(AppletClassLoader.java:279)
at sun.applet.AppletClassLoader.access$100(AppletClassLoader.java:43)
at sun.applet.AppletClassLoader$1.run(AppletClassLoader.java:157) at
java.security.AccessController.doPrivileged(Native Method) at
sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:154) at
java.lang.ClassLoader.loadClass(ClassLoader.java:306) at
sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:118) at
java.lang.ClassLoader.loadClass(ClassLoader.java:251) at
sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:577) at
sun.applet.AppletPanel.createApplet(AppletPanel.java:710) at
sun.applet.AppletPanel.runLoader(AppletPanel.java:639) at
sun.applet.AppletPanel.run(AppletPanel.java:319) at
java.lang.Thread.run(Thread.java:595)
--
Ciao Flex
________________________________________________
Chi sa ascoltare non solo è simpatico a tutti ,
ma prima o poi finisce con l'imparare qualcosa
Se la distribuisci devi certificarla perchè possa aprire una connessione
fuori dalla sua sandbox
--
---------------------------------------------------
......vieni a trovarmi http://www.glz.it
......e monitorizza gli accessi http://www.talkwithus.it
......dai voce al tuo sito http://www.talkwithus.it
......novità java, forum e altro http://www.javastaff.com
---------------------------------------------------
> se la tua applet apre una copnnessione ftp allora in locale funziona (applet
> gira in localhost fdove hai anche il server ftp)
>
> Se la distribuisci devi certificarla perchè possa aprire una connessione
> fuori dalla sua sandbox
Mi spieghi meglio :
io l'ho realizzata con Netbeans sul mio PC fisso , poi ho copiato tutta la
cartella del progetto sul notebook incluso il file .java.policy dove ,
sempre con Netbeans, ritorna quell'errore.
Cosa c'entra l'FTP ?
P.S. Ho disabilitato tutte le funzionalita' legate a J2EE per sincerarmi
che il problema non fosse quello
--
Ciao Flex
[X contattarmi togli NONSPAMM RE dall'indirizzo]
________________________________________________
Chi sa ascoltare non solo e' simpatico a tutti ,
Ho notato un'altra cosa (forse non c'entra) sul PC dove l'applet funziona
in appletview appare [nomefile].class , sul notebook ./[nomefile].class
Sara' un problema legato al path ?
--
Ciao Flex
________________________________________________
Chi sa ascoltare non solo e' simpatico a tutti ,
Lo stack trace indica che il problema tuo è di configurazione delle policy
di sicurezza.
Un applet in esecuzione in un browser non può accedere al filesytem o aprire
connessione a meno che non sia firmata, e al caricamento viene chiesto
all'utente di accettare o rifiutare il ceritificato.
non so come funziona l'appletviewer perchè non lo uso spesso , ma se
l'appletviewer emula il browser non ti consente di aprire la connessione.
ldd /opt/jdk1.5.0_01/bin/appletviewer mobileNetworkApplet.html
/opt/jdk1.5.0_01/bin/appletviewer:
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7fcc000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7f04000) libdl.so.2
=> /lib/tls/libdl.so.2 (0xb7f01000) libc.so.6 =>
/lib/tls/libc.so.6 (0xb7dcd000) /lib/ld-linux.so.2 =>
/lib/ld-linux.so.2 (0xb7fea000)
mobileNetworkApplet.html:
ldd: warning: you do not have execution permission
for`./mobileNetworkApplet.html'
not a dynamic executable
non capisco perche' non la esegue dato che i permessi c'e' li ha e il
.java.policy della home e' il seguente :
grant {
permission java.io.FilePermission "/tmp", "read,execute,write";
permission java.io.FilePermission "/home/flex/java", "read,execute,write";
permission java.security.Allpermission;
}
Quale potrebbe essere la soluzione ?
--
Ciao Flex
________________________________________________
Chi sa ascoltare non solo è simpatico a tutti ,
> Quando lo risolvi mi dici dov'era il problema... sono curioso di sapere
Certo , quando e se lo trovo posto tutto
--
Ciao Flex
________________________________________________
Chi sa ascoltare non solo e' simpatico a tutti ,
Problem to redirect output The exception details:
java.security.AccessControlException: access denied (java.lang.RuntimePermission setIO)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
Effettivamente ho redireto lo stdout e stderror dalla consolle all'Applet,
ma ancora non capisco perche' su questa macchina non gira e sull'altra si.
Problem to redirect output The exception details:
java.security.AccessControlException: access denied (java.lang.RuntimePermission setIO)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
at java.security.AccessController.checkPermission(AccessController.java:427)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.System.checkIO(System.java:207)
at java.lang.System.setOut(System.java:147)
at mobileNetworkApplet.init(mobileNetworkApplet.java:103)
at sun.applet.AppletPanel.run(AppletPanel.java:373)
at java.lang.Thread.run(Thread.java:595)
java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
at java.security.AccessController.checkPermission(AccessController.java:427)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkExit(SecurityManager.java:744)
at java.lang.Runtime.exit(Runtime.java:88)
at java.lang.System.exit(System.java:868)
at mobileNetworkApplet.init(mobileNetworkApplet.java:107)
at sun.applet.AppletPanel.run(AppletPanel.java:373)
at java.lang.Thread.run(Thread.java:595)
si l'appletviewer e' una pplicazone stand alone che ti lascia dare tutto
Nicola
--------------------------------
Inviato via http://arianna.libero.it/usenet/
come ti ha gia' spiegato xamul un applet ha delle limitazioni:
non puo accedere
-) al file system del pc locale
-) alle variabili di ambiente del pc locale
-) puo' aprire una socket esclusivamente con il server da cui proviene
queste limitazioni si possono superare solo con la firma dell'applet
in quesato cason nel file .java.policy
potrai dare all'applet tutte o alcuni liberta' se chi scari ca le accetta
il tuo certificato
se sei in un ambiente intranet puoi tranquillamente fare un ceretificato tuo
con il tool che trovi nel jdk
firmi il jar della applet con questo certificato e chi usa l'applet deve
solo la prima volta dire che si accetta il certificato
appena ha accettato di solito io gli faccio a pezzi il .java.policy e gli
prendo il controllo della macchina gh gh
ma questa e' una altra storia
ciao Nicola
> non puo accedere
> -) al file system del pc locale
> -) alle variabili di ambiente del pc locale
> -) puo' aprire una socket esclusivamente con il server da cui proviene
>
> queste limitazioni si possono superare solo con la firma dell'applet
> in quesato cason nel file .java.policy
Questo e' il mio :
grant {
permission java.io.FilePermission "/tmp", "read,execute,write";
permission java.io.FilePermission "/home/flex/java", "read,execute,write";
permission java.security.Allpermission;
}
come vedi gli manca solo la licenza di uccidere :-)
[CUT]
> appena ha accettato di solito io gli faccio a pezzi il .java.policy e
> gli prendo il controllo della macchina gh gh ma questa e' una altra
> storia
e che fai installi un trojan in Java :D
--
Ciao Flex
________________________________________________
Chi sa ascoltare non solo e' simpatico a tutti ,
> Il 20 Feb 2005, 20:10, Flex <flexNO...@REprogrammareweb.com> ha >
>> grant {
>> permission java.io.FilePermission "/tmp", "read,execute,write";
>> permission java.io.FilePermission "/home/flex/java",
>> "read,execute,write";
>> permission java.security.Allpermission;
>> }
> Quello che ti manca se vuoi usare la applet per fare queste cose e' firmarla
>
Scusa l'ignoranza : ma se nel file .java.policy dopo la keyword grant non
c'e' il nome dell'applet tutto quello che segue non dovrebbe riferirsi a
qualsiasi codice eseguito dall'utente che ha quel file nella home ?
Quello che ti manca se vuoi usare la applet per fare queste cose e' firmarla
ciao Nicola
--
---------------------------------------------------
......vieni a trovarmi http://www.glz.it
......monitorizza gli accessi http://www.talkwithus.it
ahahahahahahah bastard inside :DDDDDDDDDDDDDDDD
--
---------------------------------------------------
......vieni a trovarmi http://www.glz.it
......dai voce al tuo sito e monitorizza gli accessi
> Prova a cerificarla ci metti 5 min e togli il dubbio a tutti
Infatti , domani mattina cerco un po' di documentazione su come firmare le
applet con JDK 1.5 (ho scoperto solo adesso che hanno tolto javakey) e ci
provo. Vi faccio sapere al + presto.
P.S. Se avete qualche valido link su come firmare le applet , fornitemelo
pure.
--
Ciao Flex
________________________________________________
Chi sa ascoltare non solo è simpatico a tutti ,
> Ho realizzato un applet che sfrutta il server della SUN J2EE per lo
> scambio dei messaggi.
> L'applet funziona perfettamente sul mio PC fisso ,ma appena la metto sul
> portatile ritorna l'errore che allego. Analizzando il msg d'errore ci sono
> degli errori dovuti alla connessione FTP che sinceramente non capisco cosa
> abbia a che fare con la mia applicazione.
> [MEGACUT]
Finalmente ho risolto , dopo aver provato migliaia di strade, il problema
era l'url del code del file html .
Anche se non ho capito il motivo se sostituisco ./[nomeApplet] con
[nomeApplet] tutto funziona a meraviglia.
P.S. Firmare un Applet non e' poi un meccanismo cosi' veloce :-)
--
Ciao Flex
________________________________________________
Chi sa ascoltare non solo e' simpatico a tutti ,