Solamente lo he preparado para firmar el XML con UBL 2.1, ya ustedes lo hacen aparte el zipeado nomas sin problema.
primero deben registralo asi
Para usarlo en VFP asi
ft1 = CREATEOBJECT("firmadoCE.firmado2")
ft1.firmar(xruta, namefile, pfxop12, passpfx)
xruta = La ruta donde esta el xml
namefile = nombre del archivo xml con ubl2.1
pfxop12 = ruta y nombre del archivo pfx o p12
passpfx = clave del certificado digital
Me olvidaba de lo mas importante,
Agradecimiento al codigo inicial de Jose Carlos Aguilar.