Política de Segurança no Java (Arquivo Policy)
Na segurança estabelecida a partir do JDK 1.2, todo código carregado para a JVM passa por uma política de segurança para que não sejam realizadas operações não-autorizadas na máquina local do usuário. Com a inclusão do conceito de política de segurança é possível estabelecer permissões diferenciadas para as aplicações.
Essa política é estabelecia pelo policy. Cada usuário pode definir as suas políticas através do arquivo de policy que fica localizado no "{user.home}/.java.policy" ou definir diretamente na jre localizada na pasta "{java.home}/lib/security/java.policy".
A sintaxe deste arquivo é a seguinte:
grant [signedBy <signer>] [, codeBase <code source>] {
permission <class> [<name> [, <action list>]];
...
permissoin <class> [<name> [, <action list>]];
};
Exemplos:
ex1 - Para um applet ter acesso a um arquivo local, teria que ser inserido no policy o seguinte trecho:
-
grant {
-
permission java.io.FilePermission "c:/meuArquivo.txt", "read";
-
};
ex2 - Para especificar um jar ou uma classe para poder acessar todos os arquivos de uma determinada pasta, ficaria assim:
-
grant codeBase "file:C:/meuJar.jar" {
-
permission java.io.FilePermission "c:/minhapasta-", "read";
-
};
Existe uma ferramenta chamada Policy Tool, que vem com o jdk, que ajuda a montar esse arquivo de forma gráfica, mas eu prefiro fazer isso diretamente no arquivo. Para saber mais sobre o Policy Tool acessar o link http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/policytool.html
Cuidado com as alterações, pois elas pode deixar alguma brecha para programas maliciosos danificarem o pc, portanto tente ser sempre o mais restrito possível ao dar as permissões. Para ajuda na montagem do arquivo policy acessar o link http://java.sun.com/j2se/1.4.2/docs/guide/security/permissions.html

