Usando la línea de comandos
Sintaxis:
FirmaSAT ACCION [OPCIONES] [-o outfile] [-i] infile
Para obtener ayuda sobre el tipo de acciones disponibles
FirmaSAT AYUDA
> FirmaSAT AYUDA Uso: FirmaSAT ACCION [OPCIONES] [-o outfile] [-i] infile ACCION (uno de): ASCIIFY = reemplazar caracteres no ASCII con referencias de caracteres XML. ATTRIBUTE = extracto de un determinado atributo de archivo XML. CERTSTRING = obtener los datos del certificado de cadena de un Base64. EXTRACTDIGEST = extraer el digestion de la firma. FORMDIGEST = formulario el digestion de la cadena. GETKEYSTRING = obtener la clave privada en forma de cadena base64. AYUDA = muestra esta ayuda (mi aerodeslizador esta lleno de anguilas!). AYUDA-OPCIONES = pantalla de ayuda para las opciones de. INSERTCERT = insertar detalles de certificado en un archivo XML. KEYCHECK = comprobar que el certificado partidos clave. LIBINFO = mostrar detalles de la DLL. MAKESIG = hacer firma de archivo XML. NEWKEY = guardar archivo clave con una nueva contrasena. NUMBERCERT = obtener el numero de serie de certificados. PIPESTRING = hacer cadena de archivo XML. QUERYCERT = consultar un certificado para un valor dado (uso -q opcion). RECEIPTVERSION = obtener el numero de version de comprobante o archivo de ID. SIGNXML = crear la firma y establecer el `sello` de campo en el archivo XML. UTF8FIX = anadir un UTF-8 marca de orden de bytes en un archivo. UUID = generar un UUID. VERIFYSIG = verificar la firma en el archivo XML. WRITEPFX = crear el archivo PFX de clave privada y certificado. XMLOK = validar el archivo XML. Para obtener ayuda, escriba ``FirmaSAT AYUDA'' (en Ingles ``FirmaSAT HELP'') Para opciones ``FirmaSAT AYUDA-OPCIONES'' (en Ingles ``FirmaSAT HELP-OPTIONS'')
Para obtener ayuda sobre el tipo de opciones
FirmaSAT AYUDA-OPCIONES
> FirmaSAT AYUDA-OPCIONES Uso: FirmaSAT ACCION [OPCIONES] [-o outfile] [-i] infile OPCIONES: -a <nom-atributo> requerido para la accion ATTRIBUTE -b procesar grandes archivos con SIGNXML/VERIFYSIG/FORMDIGEST/MAKESIG -c <archivo-cert> especifique el certificado X.509 -d mostrar informacion de Depuracion; -dd mostrar mas -e <nom-elemento> requerido para la accion ATTRIBUTE -f actuar en el nodo tfd:TimbreFiscalDigital en lugar del elemento raiz -k <archivo-llave> requerido para SIGNXML/KEYCHECK/MAKESIG/NEWKEY -l (letra 'L') utilizar restricciones XML sueltas con XMLOK: (defecto=strict) -m salida cifrada la clave privada en formato peM con GETKEYSTRING/NEWKEY -n <nue-contrasena> contrasena nueva para WRITEPFX/NEWKEY -p <contrasena> requerido para <archivo-llave> -q <query> requerido para QUERYCERT donde <query> es uno de {rfc|orgName|notAfter|notBefore|serialNumber|sigAlg|keySize} -s <archivo-estado> por defecto=ninguno; para usar stdout ``-s @'' -t <tracking-info> seguimiento del Info. opcional para el archivo de estado -w salida de la pantalla en la fuente de la consola Windows -x eXcluir BOM en archivo de salida con SIGNXML -y XML de salida usando las etiquetas de elementos vacios con SIGNXML -1 (numero 'uno') salida QUERYCERT/ATTRIBUTE en Latin-1 (defecto=UTF-8) Para obtener ayuda, escriba ``FirmaSAT AYUDA'' (en Ingles ``FirmaSAT HELP'') Para opciones ``FirmaSAT AYUDA-OPCIONES'' (en Ingles ``FirmaSAT HELP-OPTIONS'')
Para obtener ayuda acerca de un tipo de acción individual ``FirmaSAT HELP <nombre de acción>``. Por ejemplo
FirmaSAT HELP EXTRACTDIGEST
> FirmaSAT HELP EXTRACTDIGEST FirmaSAT EXTRACTDIGEST [-c <certfile>] [-f] <xmlfile> Extracts the message digest from the signature ('sello') in file <xmlfile>. * Use the `-c` option to specify a separate X.509 certificate for the public key [default = use embedded certificate] * Use the `-f` option to extract the digest from the TFD element, if present. Requires `-c <certfile>` of the signer En espanol: Extractos del resumen del mensaje de la firma ('Sello') en un archivo XML.
Para ver la ayuda detallada sobre todo el tipo de acciones
FirmaSAT HELP HELP
Ejemplo
> FirmaSAT SIGNXML -s @ -k emisor.key -p 12345678a -c emisor.cer -i cfdv40-base.xml -o cfdv40_new-signed.xml STATUS: 0 ERRORDESCRIPTION: OK DATETIMECREATED: Sun Aug 18 18:52:36 2023
Esto toma un archivo XML de entrada cfdv40-base.xml
junto con el archivo de certificado X.509 del firmante emisor.cer
y la clave privada emisor.key
con la contraseña "12345678a".
El documento XML firmado se emite como cfdv40_new-signed.xml
.
El XML de entrada es un documento v4.0 CFDI con todos los campos completados, excepto los atributos "Certificado" y "Sello". El archivo de salida tiene firmado estos campos completados.
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4" Version="4.0" ... NoCertificado="30001000000300023708" Certificado="" Sello="" ...>
→
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/4" Version="4.0" ... NoCertificado="30001000000300023708" Certificado="MIIE/TCCA+WgAwIBAgIUMzAwMDEwMDAwMD..." Sello="Te/+FS80gNruYgYIWu4WXftCSdvSfGI..." ...>
El usuario obtiene el "NoCertificado" de su certificado X.509 utilizando la acción "QUERYCERT".
> FirmaSAT QUERYCERT -q serialNumber emisor.cer 30001000000300023708
Para más detalles sobre el uso de la acción SIGNXML ver XML signo en la FirmaSAT manual.