No modelo de segurança estabelecido a partir do JDK 1.2 (JDK security specification), todo código sendo carregado para uma máquina virtual Java requer o estabelecimento de uma política de segurança, visando evitar que algum objeto realize operações não-autorizadas na máquina local. Com a inclusão do conceito de política de segurança, é possível estabelecer permissões diferenciadas para as aplicações:
A política de segurança padrão é estabelecida em um arquivo do sistema, java.policy, localizado no diretório <java_home>/lib/security/. Cada usuário pode estabelecer adições a essa política através da criação de um arquivo particular de estabelecimento de política, .java.policy, em seu diretório home. Por exemplo, para permitir conexões soquete de qualquer máquina com origem no domínio dca.fee.unicamp.br a portas não-notáveis, o seguinte arquivo .java.policy seria criado:
grant { permission java.net.SocketPermission "*.dca.fee.unicamp.br:1024-", "accept,connect"; };
A sintaxe para o arquivo de políticas
(Policy files syntax) permite
estabelecer domínios de permissão com base na origem do código ou na
sua assinatura. A ferramenta policytool
permite criar um
arquivo de políticas através de uma interface gráfica.