Nesse post eu ensinei assinar o RPS da prefeitura de São Paulo, na época eu utilizei a API Sun Base64Encoder para codificar a assinatura em Base64, mas como ela é uma API proprietária da Sun pode ser que não esteja disponível em futuras versões do Java, então você pode substituí-la pelo Apache Base64, basta fazer o seguinte:
Primeiro baixe o Apache Commons Codec.
Coloque o jar do commons codec no classpath da sua aplicação, ou se você utiliza o Netbeans, crie uma nova biblioteca e inclua no seu projeto.
Importe o Apache Commons Codec:
Altere o método signASCII:
A biblioteca Apache Commons Codec implementa outros encoders e decoders, vale a pena utilizá-la para outras situações.