rFirma: firma electrónica nativa,
sin Java.
Sin esperas. Aplicación de escritorio en Rust y React que sustituye la interfaz Swing y los servidores locales de AutoFirma, con la criptografía oficial de la Administración.
- Código abierto, EUPL 1.2
- La clave privada no sale de tu equipo
- CAdES, PAdES, XAdES y FacturaE
- En cinco idiomas
Así se firma un documento
Documento cargado
rFirma abre el PDF y muestra lo que contiene: páginas, tamaño y las firmas que ya lleva. Si hay una previa, la tuya será una cofirma.
Elegir certificado
La lista se compone con los almacenes del sistema, los perfiles del navegador y los módulos PKCS#11. Los caducados y revocados se muestran, pero no se pueden usar.
Introducir el PIN
El PIN se pide en un diálogo nativo, no en una ventana web, y se borra de la memoria en cuanto termina la firma.
Firma completada
El PDF firmado se guarda junto al original, y el resumen indica su formato.




Cuatro decisiones de diseño
Sustituye la interfaz Swing y los servidores locales de AutoFirma; el motor criptográfico es el mismo, el de clienteafirma.
Rendimiento nativo
Escritorio en Tauri v2, Rust y React. Sin JVM y sin servidores locales a la escucha.
La clave privada no sale del sistema
La firma se hace en tu equipo, a través de los almacenes del sistema y de los módulos PKCS#11. Java nunca la ve.
Criptografía oficial
CAdES, PAdES, XAdES y FacturaE salen del código de clienteafirma, compilado a binario nativo con GraalVM.
Firma visible arrastrable
Coloca y dimensiona la rúbrica sobre la página, con previsualización fiel. Sin coordenadas a ciegas.
AutoFirma frente a rFirma
| AutoFirma | rFirma | |
|---|---|---|
| Java | Necesario | No lo usa |
| Lectura del PIN en Linux | Ventana de Java | Diálogo nativo y memoria protegida |
| Firma con DNIe | Sí, con jMulticard | Sí, con autodetección en caliente |
Certificados .p12 | Eliges el fichero en un diálogo | Almacén cifrado propio |
| Búsqueda de certificados | Por almacenes, solo uno activo a la vez | Todos a la vez, con buscador |
| Navegadores en Linux | Un almacén: el primero que exista. Sin Flatpak ni LibreWolf | Los de las familias Firefox y Chromium, nativos, Snap y Flatpak, a la vez |
| Firma visible | Por coordenadas | Arrastrándola sobre la página |
| Idiomas | Castellano | Castellano, catalán, euskera, gallego e inglés |
| Sistemas operativos | Windows, macOS, Linux, Android e iOS | Linux y Windows |
| Actualizaciones | Descarga manual | Automáticas |
| Apariencia | Ventanas de Java | Las de tu escritorio, con tema claro y oscuro |
Un repositorio para tu sistema operativo
Los canales de rFirma son repositorios nativos. Una vez añadido el de tu sistema, los parches de seguridad se instalan con el gestor de paquetes.
Para Debian, Ubuntu y distribuciones derivadas. Configura el repositorio mediante el formato moderno deb822 con la clave GPG verificada en /usr/share/keyrings/.
curl -fsSL https://rfirma.sgomez.me/rfirma.asc | sudo tee /usr/share/keyrings/rfirma.asc >/dev/null sudo tee /etc/apt/sources.list.d/rfirma.sources <<'EOF' Types: deb URIs: https://rfirma.sgomez.me/apt/ Suites: stable Components: main Signed-By: /usr/share/keyrings/rfirma.asc EOF sudo apt update && sudo apt install rfirma
Para Fedora y derivadas basadas en paquetes RPM. Configura el repositorio con comprobación criptográfica estricta de metadatos y paquetes (gpgcheck=1 y repo_gpgcheck=1).
sudo tee /etc/yum.repos.d/rfirma.repo <<'EOF' [rfirma] name=rfirma baseurl=https://rfirma.sgomez.me/rpm/ enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://rfirma.sgomez.me/rfirma.asc EOF sudo dnf install rfirma
Recomendada para las distribuciones de Linux que no usan APT ni DNF. Das de alta Flathub, de donde sale el runtime org.gnome.Platform, y el remoto de rFirma, como un repositorio más: así rFirma aparece también al buscar en GNOME Software. Solo necesitas tener instalados flatpak y xdg-desktop-portal.
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo flatpak remote-add --if-not-exists rfirma https://rfirma.sgomez.me/rfirma.flatpakrepo flatpak install rfirma me.sgomez.rfirma
Instalador para tu usuario, sin permisos de administrador. Usa directamente el almacén de certificados de Windows (MS-CAPI / CNG) y, una vez instalado, se actualiza desde la propia aplicación: cada versión nueva llega con su firma minisign, que se comprueba antes de instalarla.
Verifica lo que descargas: baja SHA256SUMS de la Release y comprueba que el hash del instalador coincide con su línea. El instalador no está firmado con Authenticode, así que SmartScreen avisará al abrirlo.
Get-FileHash .\rFirma_*_x64-setup.exe -Algorithm SHA256 Select-String rFirma_ .\SHA256SUMS
La versión nativa para macOS está en fase de desarrollo activo. Se integrará con el Keychain de Apple y CryptoTokenKit para un acceso fluido y seguro a las identidades digitales del sistema.
Se distribuirá como imagen de disco .dmg y mediante fórmula de Homebrew. Puedes seguir el avance del proyecto en GitHub.
Para no dejar el certificado de rFirma en el navegador, pulsa Retirar certificado en el panel de estado antes de desinstalar.
Instrucciones detalladas, huella de la clave y verificación, en el manual →
Todo el código, a la vista
rFirma es software libre y auditable bajo licencia EUPL 1.2. El código y el motor criptográfico viven en dos repositorios públicos.
Aplicación y puente FFI
En sgomez/rfirma están la interfaz en Tauri (Rust + React), el puente FFI (rfirma-native-bridge) y el empaquetado.
Motor criptográfico original
La lógica de firma consume los artefactos de ctt-gob-es/clienteafirma, compilados en una biblioteca nativa con GraalVM Native Image.
Clave de firma de paquetes
Clave pública en rfirma.asc. Comprueba su huella tras descargarla con gpg --show-keys rfirma.asc:
C8D6 A81C 1ED4 3A28 D426 8112 A6E0 EE02 2344 6A16