Cómo usar Firma Digital con la herramienta gratuita de emisión de comprobantes de Hacienda en GNU/Linux

El Ministerio de Hacienda de Costa Rica ofrece a los contribuyentes una herramienta gratuita para emitir comprobantes electrónicos desde su portal de Administración Tributaria Virtual (ATV). Es una opción útil para quien emita facturas de forma casual y no desee utilizar servicios de terceros. El firmador en su modalidad para Firma Digital solo lo ofrecen para Windows, sin embargo el componente interno es multiplataforma. Como en el caso de otras implementaciones existentes en el mercado desarrolladas en Java, funciona en GNU/Linux si se extrae del instalador.

Para poder firmar digitalmente con la herramienta que ofrecen, existen dos opciones para firmar, usando dispositivo de Firma Digital de Persona Física o usando un firmador usando certificados emitidos por el Ministerio de Hacienda. Por el respaldo jurídico y seguridad que tienen las firmas digitales de la jerarquía nacional, esta guía se refiere a las primeras.

Descarga y extracción del instalador

  • Dirigirse al sitio web del Ministerio de Hacienda de información de la herramienta gratuita de emisión de comprobantes:

    https://www.hacienda.go.cr/contenido/14839-herramienta-gratuita-de-emision-de-comprobantes

  • Descargar el único enlace funcional con el título “Firmador para Firma digital” para Windows.
  • Instalar el paquete msitools. Está empaquetado en la mayoría distribuciones GNU/Linux.
  • Ejecutar:
    cd ~/Descargas
    
    msiextract SignumOne-3.1.3-x86_64.msi
    
  • Dentro de la carpeta Descargas, En la ruta PFiles/SignumOne/app aparecerá un fichero llamado signumone-app-jfx.jar que se puede ejecutar si se instala OpenJDK 8 y OpenJFX.

    Por ejemplo, en Fedora los paquetes a instalar se llaman java-1.8.0-openjdk-openjfx y openjfx8 y quizás resulte necesario ejecutar el comando sudo alternatives --config java y seleccionar la versión 8. En otras distribuciones podría no estar disponible OpenJDK 8 y OpenJFX 8, por lo que deberían buscar los mecanismos adecuados para poderlo ejecutar, ya que la aplicación podría no funcionar con Java 11.

    Una vez se dispone de Java 8 con Java FX, se procede a ejecutar:

    cd ~/Descargas/PFiles/SignumOne/app
    
    java -jar signumone-app-jfx.jar
    
  • Si todo fue bien, se abrirá la ventana del firmador. Ya solo queda dirigirse al sitio web ATV de Hacienda, crear la factura y firmar.

Es posible que este método también sirva para usuarios de macOS si instalan Java 8 desde el sitio java.com y el paquete msitools usando la herramienta disponible en el sitio brew.sh.

12 comentarios en “Cómo usar Firma Digital con la herramienta gratuita de emisión de comprobantes de Hacienda en GNU/Linux

  1. Denis:

    Hola, Francisco! Gracias por esta guía, me ha sido de mucha ayuda.
    Solo quería comentarte que en mi caso que trabajo con Ubuntu 20.04 LTS para seleccionar la versión de java utilice este comando:
    sudo update-alternatives –config java

    En lugar de “sudo alternatives –config java”, que imagino es el comando que funciona para Fedora.

    1. Francisco de la Peña:

      Hola Denis, con gusto. Es correcto, en Debian y Ubuntu el comando equivlaente es update-alternatives para elegir la versión de Java. ¡Saludos!

  2. Gustavo Quirós Calderón:

    No me sirve el firmador, me podrían indicar si tienen algún link donde lo puedo descargar aun no puedo facturar

  3. Juan MIguel:

    Buen dia. Cuando ejecuta el firmador SignumOne me da el siguiente error: No se encontro la libreria PKCS11. Como solucionarlo?

    1. Francisco de la Peña:

      Buenas tardes, Juan Miguel:
      ¿Se quiere firmar con tarjeta de firma digital o con certificado de Hacienda? (.p12)?
      Si se quiere usar el certificado de Hacienda hay dos opciones, o regenerar las llaves indicando que se es usuario del facturador gratuito del ATV y no tener que usar SignumOne porque la llave queda custodiada por el ATV, o bien usar el SignumOne KS (es azul en lugar de rojo) si se prefiere seguir usando un fichero .p12. Si se dispone de Firma Digital deberá instalarse los controladores de Soporte Firma Digital para que funcione.

  4. Juan MIguel:

    Estoy usando el KS, azul. pero simpre me dice que no se puede obtener respuesta del firmador

    1. Francisco de la Peña:

      En ese caso asumo que utilizaba un certificado p12. Si lo prefiere, puede regenerarlo como se indica en esta guía y no necesitará usar SignumOne con el facturador del ATV:
      https://www.hacienda.go.cr/docs/GuiaParaRevocarYGenerarLlaveCriptografica.pdf
      Marcando la casilla “Soy usuario del Facturador Gratuito de Hacienda” le permitirá que no haya que utilizar SignumOne. Tenga en cuenta que esto es siempre y cuando solo vaya a usar el facturador de ATV y no otros. Si en el futuro planea utilizar un facturador de terceros deberá generarla de nuevo sin marcar esa casilla.

  5. Roberto Saravia:

    Estimado Francisco,
    ¡En realidad estoy infinitamente agradecido! Como usuario novato de GNU-Linux, SignumOne me estaba dando un dolor de cabeza terrible y fue gracias a su tutorial que logré resolver el problema.
    ¡De nuevo, muchísimas gracias!

    1. Francisco de la Peña:

      Hola Roberto, con mucho gusto, qué dicha que resultó útil la guía. También los comentarios incluyen información complementaria que contribuyen a resolver algunos problemas. Saludos y éxitos.

Deja un comentario

Tu dirección de correo electrónico no será publicada.