Certificação Digital e Portabilidade

Olá pessoal, bom dia!

Minha pergunta é meio genérica e pode ser mal interpretada, mas vamos lá.
Como posso manter portabilidade, em termos de plataforma, se as APIs que auxiliam o Java no trabalho com Certificados Digitais sempre fazem uso de arquivos .DLL(windows) e .SO(linux)???

Não vale fazer uma versão do programa pra win e outra lnx! Vale idéias que vão proporcionar bastante reaproveitamento de código…

Desde já agradeço a atenção.

Se você usar o Tiger (PKCS#11) ou o Mustang (PKCS#11 e MS CryptoAPI) vai ver que a parte que depende do hardware (DLLs, .SO) é quase que só relativa a configuração, que você vai ter de fazer de qualquer maneira - smartcards e outros dispositivos requerem drivers e instalação especial - não são coisas que você possa instalar em qualquer cybercafé.

O melhor é você tentar usar um dispositivo que tenha um driver PKCS#11 no Tiger - você vai ver que é muito mais simples que você imagina.

Pois é, estou usando Tiger(PKCS#11). Mas na hora de listar certificados por exemplo no IE eu uso MSCapi e no FireFox eu uso JSS sobre NSS. Entao terei q fazer classes q fazem a mesma coisa pra IE(windows) e pra FireFox(Gecko family - Linux)??

“Listar certificados” não é realmente muito portável, já que envolve a parte de como os certificados são armazenados - isso depende muito de seu ambiente.
Mas a parte de fazer assinaturas digitais, por exemplo, é bastante portável.

e ainda tem um problema. o X509Certificate da Assembla é diferente do X509Certificate da JSS. Então o Cast da pau. O analista daqui até fez uma X509 propria com os metodos das duas pra servir de interface, mas nao deu certo. Ou seja, teremos q fazer uma classe pra listar certificados do Firefox e uma pra Listar Certificados do IE. Certo?