Boa tarde @joemil,
Você esta usando o componente ACBrNFSeX para enviar o XML do RPS para o webservice do provedor?
Não entendi o motivo de criar essa função para assinar o XML.
O componente é que toma toda a decisão de assinar ou não após o XML ter sido gerado.
Lembre-se, tem provedor que devemos gerar o XML do RPS, outros devemos assinar o Lote, outros devemos assinar tanto o XML do RPS quanto o Lote e outros não devemos assinar nada.
O novo componente também sabe qual é o serviço a ser utilizado para o envio do RPS, alguns provedor o envio é em lote no modo assíncrono, outros em lote no modo síncrono e outros o envio é unitário.
Deixe o componente fazer as coisas por você.
Existem propriedades para você pegar o XML e guardar no banco de dados se for o caso.