Como posso obter um Applet Java assinado para executar operações privilegiadas quando chamado de Javascript não assinado?

Os miniaplicativos Java assinados têm a mesma habilitação de segurança que um aplicativo Java normal em execução no cliente. Para um projeto em particular, euprecisar essas permissões, e euprecisar para executar operações privilegiadas como resultado de uma chamada JavaScript.

Agora, o problema é que, pelo menos para o Firefox 3 no Ubuntu (navegador de destino e plataforma), quando um método de applet é invocado através de JavaScript não assinado, ele perde suas permissões especiais. Como assinar o JavaScript não é uma opção, preciso de uma maneira de contornar essa restrição.

Uma maneira de conseguir isso é criar um thread quando o applet é iniciado e chamar métodos nesse thread sempre que o thread principal receber as chamadas do JavaScript. Eu implementei um protótipo funcional dessa idéia, mas achei um pouco desajeitado, porque ele usa muita reflexão e não é tão facilmente reutilizável quanto eu gostaria.

Existe uma maneira padrão comum de fazer o que estou tentando fazer? E, se a minha ideia é o caminho certo a seguir, como você poderia implementá-la de maneira reutilizável? O que estou tentando alcançar é um framework que permite que essa coisa de "execução de métodos em um thread privilegiado" seja usada para uma variedade de objetos. A solução ideal e utópica seria algo como:

<code>// when the applet starts-up
PrivilegedExecuter priv = new PrivilegedExecuter(myObject); //or MyClass.class
// ...
// inside a JavaScript-called method (myObject has myMethod)
priv.myMethod(); // myMethod is run synchronously in a privileged thread
</code>

questionAnswers(2)

yourAnswerToTheQuestion