Applets Java

History Key

  • New content
  • Removed content

Recent Versions

Choose two versions to compare, or click the link to view it.

  1. 3. over 2 years by mawcomw
  2. 2. over 2 years by mawcomw
  3. 1. over 2 years by walkeralencar
 

Applet Java para calcular assinatura de arquivos:

O applet funciona com certificados do tipo A1 (arquivo .PFX) e A3 (smartcard).

Por enquanto só está testado a assinatura com A1 porque não tinha um A3. Por isso não sei como vai se comportar o applet, devido ao fato de ele precisar acessar uma biblioteca nativa externa (.dll para Win e .so para Linux) para ter acesso ao leitor do smartcard.
Outra coisa, para ter acesso ao sistema de arquivos o applet precisa ser assinado. Portanto usei o certificado auto-assinado pessoal. =)

O que fiz foi juntar os códigos do Nakov (http://www.nakov.com/documents-signing/)(http://www.nakov.com/documents-signing/) que eram applets separados... Não modifiquei muito por enquanto para ver como funcionaria e mostrar a vocês primeiro.

Lembro que o retorno dos applets para o Html é feito usando o JSObject que faz parte da JVM no arquivo %JRE_HOME%/lib/plugin.jar. Ou seja universal para qualquer browser.

O exemplo que fiz aqui está rodando 100% no IE e no Chrome; no Firefox tem um erro porque este ainda não implementa suporte à tag <Object> corretamente; e daí fica sendo necessário fazer htmls diferentes. Pelo menos ainda não consegui fazer funcionar com um só.

Outro ponto importante:
O retorno, via JSObject, é o seguinte (dado um arquivo X como entrada para assinar):
* Certification chain
* Signature

Mas imagino que o processo de assinar esteja sendo feito pelo PHP (e não via applet que foi o que fiz)... Então o que querem que eu retorne para o HTML via JSObject?
Eu suponho que seja o seguinte:
* PrivateKey
* CertificationChain

Se for isso mesmo, ou caso seja algo diferente ou a mais, me avisem que já modifico e faço o upload do applet na segunda ou terça para testarem.

 

O Applet pode ser testado no seguinte endereço:

http://inf.ufrgs.br/~emmachado/NFePHPApplet/