Assinatura Digital

Gostaria de uma ajuda…
Estou programando em java web tem um mês +/-, e tenho uma funcionalidade que assina documentos (processos da justiça federal) digitalmente.
O sistema atual está em delphi C/S e estamos reescrevendo-o para 3 camadas, ele utiliza a biblioteca CAPICOM.
Como iniciar o desenvolvimento desta funcionalidade?

Referências:
JCE - http://java.sun.com/products/jce/ (não é preciso baixar o pacote do JCE 1.2.2, pois o JCE já vem com o Java 1.4, 5.0 e 6.0; só passei o link para a documentação)
BouncyCastle - http://www.bouncycastle.org
Se for usar Java 6.0 é mais fácil (use o provedor SunMSCAPI) que pode ler os mesmos certificados digitais que o CAPICOM.