Boa noite sofridos usuários Java,
Tenho uma applet que faz a leitura de cartões criptográficos, no meu caso, para assinar documentos digitalmente.
Para acessar essa applet eu uso as dlls do fabricante do leitor juntamente com as classes padrões do pacote java.security. Até aí tudo bem, está testado e funcionando, porém em um caso específico acontece um problema:
Quando eu desconecto o leitor da máquina minha aplicação exibe uma mensagem em uma label informando o usuário que ele precisa conectar a leitora e reiniciar a applet. só que, mesmo fazendo isso, a mensagem de erro permanece na tela, e debugando eu descobri que o programa tenta acessar a dll e não identifica a leitora.
O contrário também ocorre, quando eu uso a leitora normalmente, retiro e tento usar, a applet me informa que conseguiu ler tranquilamente a dll e a leitora de cartões.
Esse problema só é resolvido quando eu reinicio o browser.
O mesmo problema ocorre no site do Banco do Brasil, na seção de certificados A3.
Gostaria de saber se há uma maneira prática de esquartejar a JVM logo após o fechamento da applet (Que ocorre por exemplo quando a página é trocada), ou uma forma de fazer ela ler corretamente a dll.
Eu assino essa applet usando um certificado meu, criado com o jarsigner.
Versão do java: 1.6.0_03
Versão do JDK: 1.5.0_12
Agradeço qualquer contribuição.
Anderson.