Una vez me toco arreglar un sistema de facturación horrible escrito en un lenguaje horrible como PHP.
Lo que me di cuenta, es que firmar eso es muy sencillo, tienes que hacer transformaciones de cadenas, pasar xml, concatenar datos, etc... y al final firmar usando módulos o comandos parecidos que estén disponibles en el lenguaje que uses.
Este link me ayudo bastante cuando estuve investigando eso, espero que te ayude.
http://www.lacorona.com.mx/fortiz/sat/xsl.php