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.