wiki:jabberit/applet

Version 15 (modified by alexandrecorreia, 16 years ago) (diff)

--

Informações Técnicas sobre Applet - Breve Explicação

ASSINATURA E VERIFICAÇÃO

A habilidade de assinar e verificar arquivos são uma importante parte da arquitetura de segurança da plataforma Java. Uma vez que o browser verificou que uma applet possui uma origem confiável, pode-se relaxar as políticas de segurança permitindo que a applet realize operações que anteriormente não seriam permitidas. Na versão 1.1 de Java, uma applet considerada confiável (ou seja, assinada) possuía os mesmos privilégios que uma aplicação local Java. A partir da versão 1.2, uma applet assinada possui apenas a liberdade definida no arquivo policy.

HASH E O ARQUIVO ASSINADO

Quando um arquivo JAR é assinado, para cada arquivo dentro do JAR é criada uma entrada com o seu hash no arquivo manifest. Por exemplo:

Name: test/classes/ClassOne.class SHA1-Digest: TD1GZt8G11dXY2p4olSZPc5Rj64=

As entradas hash são como resumos dos arquivos no momento que eles foram assinados. O resumo de um arquivo só irá mudar caso o arquivo que o originou se modifique. Quando um arquivo JAR é assinado automaticamente é gerado um arquivo de assinaturas .SF. A seguir está um exemplo:

Signature-Version: 1.0 SHA1-Digest-Manifest: h1yS+K9T7DyHtZrtI+LxvgqaMYM= Created-By: SignatureFile? JDK 1.2

Name: test/classes/ClassOne.class SHA1-Digest: fcav7ShIG6i86xPepmitOVo4vWY= Name: test/classes/ClassTwo.class SHA1-Digest: xrQem9snnPhLySDiZyclMlsFdtM=

Name: test/images/ImageOne.gif SHA1-Digest: kdHbE7kL9ZHLgK7akHttYV4XIa0=

Name: test/images/ImageTwo.gif SHA1-Digest: mF0D5zpk68R4oaxEqoS9Q7nhm60=

Como se pode ver o arquivo de assinaturas possui entradas similares as existentes no manifest. Contudo, as entradas hash do arquivo manifest são geradas a partir dos próprios arquivos, enquanto que as do arquivo de assinaturas são criadas a partir das entradas existentes no manifest. Além disso, a primeira entrada existente entre as assinaturas é um hash de todo o arquivo de manifest.

Assim, ao se verificar a assinatura de um arquivo, primeiro se recalcula os resumos de todos os seus arquivos e se compara com os existentes no arquivo de manifest. A seguir são recalculados os resumos de todas as entradas do manifest e comparados com os resumos existentes no arquivo de assinaturas.


Attachments