Koral Data

rFirma: firmar con certificado digital sin Java, una alternativa a AutoFirma

rFirma es una aplicación de firma electrónica de código abierto que atiende las mismas sedes que AutoFirma, con su mismo motor de firma y sin Java. Qué mejora, qué le falta todavía y cómo firmar con ella una factura Facturae.

David Pruñonosa6 min de lectura

Quien ha firmado algo en una sede electrónica conoce el ritual: pulsar «Firmar», esperar a que arranque AutoFirma, elegir el almacén de certificados, buscar el tuyo y cruzar los dedos para que la ventana de Java no se quede detrás del navegador. Funciona, pero cuesta.

rFirma es una aplicación nueva que hace lo mismo con otra cara. Atiende las mismas sedes que AutoFirma, firma en los mismos formatos y con el mismo motor, pero sin Java y con ventanas propias del sistema. Salió en agosto de este año y va por la versión 0.16, publicada el 20 de octubre.

En este artículo contamos qué es, qué mejora respecto a AutoFirma, qué le falta todavía y cómo te puede servir para firmar las facturas electrónicas que presentas en FACe.

Qué es rFirma

Es una aplicación de escritorio para Windows, macOS y Linux que firma documentos con tu certificado digital o con el DNIe. Tiene tres piezas:

  • El motor de firma es el de AutoFirma. AutoFirma es de código abierto, y rFirma toma su código (el proyecto Cliente @firma, del Gobierno) y lo compila a un programa nativo. Por eso las firmas que salen son las mismas: CAdES, PAdES para los PDF, XAdES y Facturae.
  • La ventana es nueva, hecha con Tauri, Rust y React en lugar de las ventanas de Java de AutoFirma.
  • Las sedes la abren igual. Las sedes que piden AutoFirma la llaman con enlaces afirma://, y rFirma atiende esos mismos enlaces. No hay que cambiar nada en la sede.

Dos avisos antes de seguir:

  • No es un producto oficial. Es un proyecto independiente de código abierto, con licencia EUPL 1.2, que no forma parte de AutoFirma ni lo respalda la Administración. Los fallos se cuentan en su repositorio, no al equipo de AutoFirma.
  • Está en fase alfa. El propio manual recomienda comprobar el resultado antes de usarla para un trámite importante.

Qué mejora respecto a AutoFirma

No necesita Java

AutoFirma está hecha en Java, y eso se nota en el arranque, en las ventanas y en las actualizaciones. rFirma no usa Java: el motor va compilado dentro de la aplicación, y las ventanas son las de tu escritorio, con tema claro y oscuro.

Ves quién pide la firma y qué firmas

Cuando una sede pide una firma, rFirma abre una ventana pequeña que dice:

  • Quién la pide: la dirección de la página, por ejemplo «sede.ejemplo.es pide tu firma de un documento PDF».
  • Qué vas a firmar: un PDF, un XML, una factura electrónica o un reto de autenticación. Del PDF enseña el título, las páginas y si ya trae firmas, y si son válidas.
  • Con qué certificado. Si la sede solo acepta algunos, avisa.

No firma nada hasta que lo consientes, aunque solo tengas un certificado. Y el botón de firmar tarda tres segundos en activarse, para que un Intro pulsado sin querer no firme. Las dos cosas se pueden cambiar en las preferencias.

Cuando una sede no pide una firma sino tus datos de identidad, por ejemplo para entrar, la ventana lo dice y explica qué se envía: nombre, NIF, emisor y número de serie del certificado.

Todos tus certificados a la vez

En AutoFirma eliges primero el almacén y después el certificado. rFirma junta en una sola lista los certificados del sistema, los de los navegadores, los de las tarjetas y los tokens (PKCS#11) y los ficheros .p12 que le hayas dado, que guarda en un almacén cifrado propio. Tiene buscador por nombre, empresa o NIF, y los certificados caducados aparecen con el motivo pero no se pueden elegir.

Con el DNIe, detecta la tarjeta al meterla en el lector, sin reiniciar nada.

La firma visible se coloca con el ratón

Para que la firma se vea en el PDF, en AutoFirma se indica la posición con coordenadas. En rFirma arrastras el recuadro sobre la página, eliges en qué páginas va y si lleva tu rúbrica escaneada, y el visor enseña cómo quedará.

Revisa las firmas que ya trae el documento

Antes de firmar, rFirma enseña las firmas que ya tiene el PDF y si cada una es válida, ha caducado o tiene un problema, por ejemplo que el documento se haya modificado después de firmarse. Si el PDF está certificado y tu firma invalidaría la anterior, lo avisa antes.

Más cosas

  • El PIN se pide en una ventana del sistema, no en la de la aplicación, y se borra de la memoria al terminar.
  • En cinco idiomas: castellano, catalán, euskera, gallego e inglés.
  • Se actualiza sola en Windows y macOS, y desde el gestor de paquetes en Linux.
  • En Linux encuentra los certificados de Firefox y de los navegadores de la familia de Chrome, también si están instalados con Snap o Flatpak.
  • Tiene línea de órdenes con las mismas órdenes que AutoFirma (sign, cosign, listaliases y verify), para firmar desde un script.

Qué le falta todavía

  • Es una versión alfa. Lleva dos meses publicada y saca versiones casi cada semana.
  • Los instaladores no están firmados. Windows avisa al instalarla y macOS no la deja abrir la primera vez sin un comando en el Terminal. La web publica las huellas (SHA-256) y la firma GPG de cada descarga para comprobarlas: si te lo tomas en serio, hazlo.
  • En Mac, solo funciona con Apple Silicon y macOS 15.4 o posterior.
  • No hay versión para móvil. AutoFirma tiene Android e iOS.
  • No comprueba todavía si un certificado está revocado.
  • Algunas peticiones de las sedes las rechaza, con una explicación: firmas con SHA-1, XAdES explícita, XMLDSig, cofirmar o contrafirmar una factura electrónica y los lotes locales en XML, entre otras.
  • Instala un certificado propio en tus navegadores, para que la página de la sede pueda hablar con la aplicación en tu equipo, y el navegador te pedirá permiso de acceso a la red local. Si la desinstalas, retira antes ese certificado desde la propia aplicación.

¿Puedo tener las dos instaladas?

Sí, pero solo una atiende las sedes. rFirma lo configura la primera vez que la abres, y se cambia después en su ventana de estado, con «Usar rFirma». Si las dos están abiertas a la vez, una sede puede no llegar a rFirma: cierra AutoFirma y vuelve a intentarlo.

Nuestra recomendación: si usas Linux, un Mac reciente o simplemente te cansa AutoFirma, pruébala con un trámite que no corra prisa. Y mientras siga en alfa, deja AutoFirma instalada por si una sede pide algo que rFirma todavía no hace.

Cómo te ayuda Koral Data

Si facturas a la Administración, Koral Data genera de cada factura el XML Facturae 3.2.2 que pide FACe, con los códigos DIR3 del organismo. Lo descargas desde la propia factura, en ventas y facturación.

Ese XML sale sin firmar: lo firmas tú con el certificado de la empresa antes de subirlo a FACe. Con rFirma se hace desde la terminal:

rfirma sign -i factura.xml -o factura.xsig --format facturae --certgui

Se abre la ventana para elegir el certificado, te pide el PIN y deja la factura firmada en factura.xsig, lista para FACe. También puedes firmarla con AutoFirma: el formato de firma es el mismo.

Fuentes

Módulos relacionados

Empezamos por tu empresa

Automatiza tu empresa y entiende todos tus datos.

Cada factura crea su asiento, sus vencimientos y su registro Verifactu, y el inicio te dice lo que has vendido, lo que te deben y el IVA del trimestre. Cuéntanos cómo trabajas y te lo enseñamos con tus propios datos.

Hecho en Vinaròs.