Métodos de assinatura digital de documentos?

Pessoal,

Estou com alguna problemas. Estou fazendo um sistema que deve assinar digitalmente arquivos. Arquivos binários eu já consegui sem problemas (com a ferramenta SignTool da Microsoft), estou com problemas para documentos de texto (txt e pdf). Mas tudo precisa ser no formato X.509.

Estou fazendo testes com o CAPICOM da microsoft, (já gerei um certificado de teste A1 com o MakeCert).

Estou olhando o iText que gera pdf e tbm assina. Mas estou procurando algo mais genérico, para outros formatos de documentos texto.

Algém pode me dar uma luz? Estou pesquisando na api do secutiry do java mas até agora não consegui uma ajuda boa (somente acho ajuda sobre como assinar arquivos .jar).

um abraço