Sinatura electrónica nativa.
Sen Java, sen esperas.
Aplicación de escritorio en Rust e React que substitúe a interface Swing e os servidores locais de AutoFirma, coa criptografía oficial da Administración.
- Código aberto, EUPL 1.2
- A clave privada non sae do teu equipo
- CAdES, PAdES, XAdES e FacturaE
- En cinco idiomas
Así se asina un documento
Documento cargado
rFirma abre o PDF e mostra o que contén: páxinas, tamaño e as sinaturas que xa leva. Se hai unha previa, a túa será unha cosinatura.
Escoller certificado
A lista compóñese cos almacéns do sistema, os perfís do navegador e os módulos PKCS#11. Os caducados e revogados amósanse, pero non se poden usar.
Introducir o PIN
O PIN pídese nun diálogo nativo, non nunha xanela web, e bórrase da memoria en canto remata a sinatura.
Sinatura completada
O PDF asinado gárdase xunto ao orixinal, e o resumo indica o seu formato.




Catro decisións de deseño
Substitúe a interface Swing e os servidores locais de AutoFirma; o motor criptográfico é o mesmo, o de clienteafirma.
Rendemento nativo
Escritorio en Tauri v2, Rust e React. Sen JVM e sen servidores locais á escoita.
A clave privada non sae do sistema
A sinatura faise no teu equipo, a través dos almacéns do sistema e dos módulos PKCS#11. Java nunca a ve.
Criptografía oficial
CAdES, PAdES, XAdES e FacturaE saen do código de clienteafirma, compilado a binario nativo con GraalVM.
Sinatura visible arrastrable
Coloca e dimensiona a rúbrica sobre a páxina, con previsualización fiel. Sen coordenadas ás cegas.
AutoFirma fronte a rFirma
| Aspecto | AutoFirma (oficial) | rFirma |
|---|---|---|
| Arquitectura | Java Swing sobre JVM | Tauri v2 (Rust + React) co motor de clienteafirma en GraalVM Native Image |
| Onde se procesa a clave privada | No proceso Java | No almacén do sistema ou o módulo PKCS#11; non sae del |
| Protección do PIN na memoria | Bórrase só en parte e pode acabar no disco | Protexido na memoria, nunca vai ao disco e bórrase tras usalo |
| Sinatura co DNIe | Si, mediante jMulticard | En desenvolvemento |
Certificados en ficheiro (.p12) | Rexístrase a ruta do ficheiro nun diálogo de almacéns con seis opcións | Almacén propio e cifrado, que se abre coa túa sesión |
| Busca de certificados | Só busca no almacén que elixas | Todos nunha lista con buscador, un certificado por fila |
| Colocación da sinatura visible | Coordenadas ou cadro sen contexto | Arrastre sobre a páxina, con modelos de texto e previsualización fiel |
| Confianza do navegador no servidor local | O instalador rexistra a CA no sistema, con privilexios | A aplicación rexistra a súa CA nos almacéns NSS da persoa, sen root |
| Idiomas | Só castelán, coas cadeas dos diálogos Swing | Castelán, català, euskara, galego e inglés, con catálogo propio e cambio desde Preferencias |
| Xestor de documentos | — | Lembra os documentos recentes e o último certificado usado |
| Compatibilidade de sistemas | Windows, macOS, Linux, Android e iOS | Linux e Windows; macOS, en desenvolvemento |
| Canle de actualización | Descarga manual de .deb ou .rpm | Repositorios nativos: APT, DNF e Flatpak; en Windows, desde a propia aplicación |
| Integración co escritorio | Aparencia propia de Swing | Segue o estilo do escritorio, con tema claro e escuro |
Un repositorio para o teu sistema operativo
As canles de rFirma son repositorios nativos. Unha vez engadido o do teu sistema, os parches de seguridade instálanse co xestor de paquetes.
Para Debian, Ubuntu e distribucións derivadas. Configura o repositorio mediante o formato moderno deb822 coa 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 e derivadas baseadas en paquetes RPM. Configura o repositorio con comprobación criptográfica estrita de metadatos e paquetes (gpgcheck=1 e 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 as distribucións de Linux que non usan APT nin DNF. Resólvese desde o remoto ostree propio de rFirma, e o runtime org.gnome.Platform descárgase de Flathub sen configurar nada. Só precisas ter instalados flatpak e xdg-desktop-portal.
flatpak install https://rfirma.sgomez.me/rfirma.flatpakref
Tamén podes descargar e instalar con dobre clic o ficheiro rfirma.flatpakref se o teu escritorio o soporta.
Instalador para o teu usuario, sen permisos de administrador. Usa directamente o almacén de certificados de Windows (MS-CAPI / CNG) e, unha vez instalado, actualízase desde a propia aplicación: cada versión nova chega coa súa sinatura minisign, que se comproba antes de instalala.
Verifica o que descargas: baixa SHA256SUMS da Release e comproba que o hash do instalador coincide coa súa liña. O instalador non está asinado con Authenticode, así que SmartScreen avisarache ao abrilo.
Get-FileHash .\rFirma_*_x64-setup.exe -Algorithm SHA256 Select-String rFirma_ .\SHA256SUMS
A versión nativa para macOS está en fase de desenvolvemento activo. Integrarase co Keychain de Apple e CryptoTokenKit para un acceso fluído e seguro ás identidades dixitais do sistema.
Distribuirase como imaxe de disco .dmg e mediante fórmula de Homebrew. Podes seguir o avance do proxecto en GitHub.
Todo o código, á vista
rFirma é software libre e auditable baixo licenza EUPL 1.2. O código e o motor criptográfico viven en dous repositorios públicos.
Aplicación e ponte FFI
En sgomez/rfirma están a interface en Tauri (Rust + React), a ponte FFI (rfirma-native-bridge) e o empaquetado.
Motor criptográfico orixinal
A lóxica de sinatura consume os artefactos de ctt-gob-es/clienteafirma, compilados nunha biblioteca nativa con GraalVM Native Image.
Clave de sinatura de paquetes
Clave pública en rfirma.asc. Comproba a súa pegada tras descargala con gpg --show-keys rfirma.asc:
C8D6 A81C 1ED4 3A28 D426 8112 A6E0 EE02 2344 6A16