applet - Assinatura Digital
Perguntas � applet � Assinatura Digital
Seguinte, eu tenho um applet que modifica as configurações de DNS do computador que o executa(uso ele para configurar maquinas novas aqui no trampo) o problema é que ter que ficar clicando em "confio na fonte" tem feito eu perder tempo, então tenho 2 perguntas
1ª com assinatura digital eu removo qualquer tipo de mensagem?
2ª se sim, com este tutorial ele funciona também?
Augusto Evangelista Moreira
Bom com assinatura acredito que não vai remover qualquer tipo de mensagemos, o browser não aceita applet auto assinado. Antes isso e possivel, hoje não.
— Adenilson Cardoso 17 de fev de 2015
Leitura: http://docs.oracle.com/javase/tutorial/deployment/applet/
Ou, mais especificamente: http://docs.oracle.com/javase/tutorial/deployment/doingMoreWithRIA/security.html
Um caminho é adquirir um certificado de assinatura de código, cuja cadeia de confiança já exista no browser. Os preços costumam ser salgados. No entanto, esta opção vai te poupar dor de cabeça, pois não precisará importar a cadeia de confiança no browser dos usuários. Atualmente, alguns dos fornecedores mais populares são GlobalSign, Thawte, DigiCert e VeriSign. No IE, por exemplo, é possível verificar as cadeias de confianças em Ferramentas->Opções da Internet->Conteúdo->Certificados->aba Autoridades de Certificação Raiz Confiável.
O outro caminho é gerar um certificado auto-assinado utilizando ferramentas como o keytool ou openssl. No entanto, você terá o trabalho de importar este certificado como confíável no browser dos usuários. Feita a escolha por um dos caminhos acima, assine seu(s) JAR(s) com o JARSIGNER que já vem com o JDK (ver http://docs.oracle.com/javase/tutorial/deployment/jar/signing.html)
O trabalho não acaba por aqui. Os browsers estão cada vez mais restritivos, talvez você tenha que mexer o Manifest para não ter mais alertas. Caso sua applet seja chamada por uma Javascript, verifique se esta no mesmo domínio de Caller-Allowable-Codebase do Manifest. Caso seu Manifest tenha Trusted-Library, remova-o. Configure o Trusted-Only para TRUE (fonte: http://www.oracle.com/technetwork/java/javase/7u45-relnotes-2016950.html). Feito isso, te garanto que ainda terá problemas caso você tenha muita variedade de clientes (JREs desatualizadas, browsers antigos, usuários sem muito privilégios na máquina, etc). Ainda estou a espera de uma alternativa à applet, mas enfim, é o que temos hoje. Boa sorte!
Caso opte pela geração de um certificado auto-assinado (não adquirido de um fornecedor externo), o tutorial é útil até a parte da geração do certificado com a ferramenta keytool. Não siga este tutorial para fazer a assinatura do JAR. Utilize o JARSIGNER.