Aviso

rFirma no es un producto oficial de la Administración Pública. Es un proyecto independiente de código abierto bajo licencia EUPL 1.2.

Alternativa a AutoFirma

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
rFirma — Solicitud-subvencion.pdf
Ventana principal de rFirma: visor del documento, colocación de la firma visible y panel lateral de firma
CertificadoADA LOVELACE BYRONAC FNMT Usuarios
FaseEnsamblando
Firma visibleColocada en la página 3
PAdES · 2 firmas
CAdESPAdESXAdESFacturaEPKCS#11
Paso a paso

Así se firma un documento

01

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.

02

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.

03

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.

04

Firma completada

El PDF firmado se guarda junto al original, y el resumen indica su formato.

rFirma con un PDF abierto que ya lleva una firma válida
Por qué rFirma

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.

Comparativa

AutoFirma frente a rFirma

AspectoAutoFirma (oficial)rFirma
ArquitecturaJava Swing sobre JVMTauri v2 (Rust + React) con el motor de clienteafirma en GraalVM Native Image
Dónde se procesa la clave privadaEn el proceso JavaEn el almacén del sistema o el módulo PKCS#11; no sale de él
Protección del PIN en memoriaSe borra solo en parte y puede acabar en discoProtegido en memoria, nunca va a disco y se borra tras usarlo
Firma con DNIeSí, con jMulticardEn desarrollo
Certificados en fichero (.p12)Se registra la ruta del fichero en un diálogo de almacenes con seis opcionesAlmacén propio y cifrado, que se abre con tu sesión
Búsqueda de certificadosSolo busca en el almacén que elijasTodos en una lista con buscador, un certificado por fila
Colocación de la firma visibleCoordenadas o recuadro sin contextoArrastre sobre la página, con modelos de texto y previsualización fiel
Confianza del navegador en el servidor localEl instalador registra la CA en el sistema, con privilegiosLa aplicación registra su CA en los almacenes NSS de la persona, sin root
IdiomasEspañol, con las cadenas de los diálogos SwingEspañol, català, euskara, galego e inglés, con catálogo propio y cambio desde Preferencias
Gestor de documentos—Recuerda los documentos recientes y el último certificado usado
Sistemas operativosWindows, macOS, Linux, Android e iOSLinux y Windows; macOS, en desarrollo
Canal de actualizaciónDescarga manual de .deb o .rpmRepositorios nativos: APT, DNF y Flatpak; en Windows, desde la propia aplicación
Integración con el escritorioApariencia propia de SwingSigue el estilo del escritorio, con tema claro y oscuro
Instalación

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
Transparencia

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