Aqui na empresa utilizamos soluções da FlexDocs[1] para fazer as assinaturas dos xml's, tenta dar uma olhada no site, tem algumas funcionalidades Free, quem saiba faz essa assinatura.

[1] http://www.flexdocs.com.br/

PS: Só para constar, além da funcionalidade no sistema, você ou seu cliente, precisam do arquivo de certificado digital válido.