sto leggendo il tutorial sulla sicurezza Java di oracolo. (http://download.oracle.com/javase/tutorial/security/toolsign/rstep4.html)
duplico tutti i file e tutto dal tutorial fondamentalmente.
sono in grado di eseguire il file con il gestore di sicurezza utilizzando il seguente approccio in unix:
java -Djava.security.manager -Djava.security.policy=recvPolicy -cp sCount.jar Count ../../test
ma quando provo a specificare una nuova policy.url nel file java.security come questo:
policy.url.1=file:${java.home}/lib/security/java.policy policy.url.2=file:${user.home}/.java.policy policy.url.3=file:/home/myhome/SigningTest/recvPolicy
mi dà un'eccezione quando corro:
java -Djava.security.manager -cp sCount.jar Count ../../test
l'eccezione è questa:
Exception in thread "main" java.security.AccessControlException: access denied (java.io.FilePermission ../../test read) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) at java.security.AccessController.checkPermission(AccessController.java:546) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at java.lang.SecurityManager.checkRead(SecurityManager.java:871) at java.io.FileInputStream.<init>(FileInputStream.java:100) at java.io.FileInputStream.<init>(FileInputStream.java:66) at Count.main(Count.java:17)
grazie per il feedback
En title : access denied even though I specified policy.url in java.security
va bene, ho fatto un test rapido di questo e funziona per me. quindi l'unica cosa che potrebbe causare questo problema (la mia ipotesi) è che avete due jdks installato sulla vostra scatola unix. quindi assicuratevi che il "java" che state usando per l'esecuzione da linea di comando sia la stessa versione di cui avete modificato java.security.
il file di sicurezza predefinito sun java 6 (se si utilizza Ubuntu) si trova in:
quindi assicuratevi di modificare la versione corretta di java.security