Firma de Documentos XML – AppDTESigner.jar

Descripción:

Utilidad Java que permite firmar un nodo específico dentro de un archivo XML usando un certificado digital en formato .pfx. La firma es de tipo enveloped, cumpliendo con el estándar XMLDSig (usado por el SII de Chile, entre otros).


Uso

bash:

java -cp AppDTESigner.jar appdtesigner.SignXML <archivo_xml_entrada> <id_del_nodo> <nombre_del_nodo> <ruta_certificado_pfx> <clave_certificado> <archivo_xml_salida>

Parámetros

  1. <archivo_xml_entrada>
    Ruta del XML que se desea firmar.

  2. <id_del_nodo> (DOC1, por ejemplo)
    Valor del atributo ID dentro del nodo que se desea firmar. Debe coincidir exactamente con el contenido del atributo ID.

  3. <nombre_del_nodo> (Documento, por ejemplo)
    Nombre del nodo (elemento XML) que contiene el ID y que será firmado.

  4. <ruta_certificado_pfx>
    Ruta al certificado digital en formato .pfx.

  5. <clave_certificado>
    Contraseña para acceder al archivo .pfx.

  6. <archivo_xml_salida>
    Ruta donde se guardará el XML firmado.


Ejemplo

bash:

java -cp AppDTESigner.jar appdtesigner.SignXML /home/esteban/appdte/DTE/EJEMPLO.xml DOC1 Documento /home/esteban/appdte/certificate/eguenul.pfx amulen1956 /home/esteban/appdte/DTE/EJEMPLOFIRMADO.xml

Consideraciones

  • El nodo debe tener un atributo ID que será marcado como ID válido para la firma.

  • La firma se aplica directamente sobre ese nodo (Documento, DTE, etc.).

  • La salida es el mismo XML de entrada, pero firmado.

  • Codificación: ISO-8859-1 (para compatibilidad con servicios como el SII).

  • Firma: RSA-SHA1 con canonicalización inclusiva.

  • Se añade manualmente la declaración XML al principio.


Descarga aquí


Comentarios

Entradas populares de este blog

Creación de un DTE de boleta electrónica usando AppDTE Api:

Guía de Consulta de DTE

¡Nuevo Entorno de Pruebas Disponible para AppDTE API!