FirmaLocal
Firmar un PDF

Firmar PDF con certificado digital en Linux y Ubuntu

Adobe Reader no existe en Linux. Las tres formas reales de firmar un PDF con certificado digital en Ubuntu, Mint o Fedora: navegador, Autofirma y LibreOffice.

Actualizado el

Buscar cómo firmar un PDF con certificado digital en Linux devuelve tutoriales pensados para Windows que terminan en «abre Adobe Acrobat Reader». Mal punto de partida: Adobe dejó de publicar Reader para Linux hace más de una década y su página oficial de descargas ya ni lo ofrece. Lo que sí hay en Ubuntu, Mint, Debian o Fedora son tres opciones reales: firmar desde el navegador sin instalar nada, Autofirma con el Java del sistema, y LibreOffice, que probablemente ya tienes instalado.

En Linux no hay Adobe Reader: el mapa real

Opción¿Qué requiere?¿Para qué caso?
Navegador (FirmaLocal)Solo Chrome o Firefox y tu archivo .p12Firmar un PDF y adjuntarlo; el camino corto
AutofirmaPaquete .deb/.rpm + Java del sistemaObligatoria si el trámite se firma dentro de la sede; cofirma y DNIe
LibreOfficeYa viene en Ubuntu y MintFirmar PDF existentes con el certificado del almacén de Firefox

Las tres producen una firma PAdES real con tu certificado FNMT o ACCV, verificable en VALIDe. Lo que no produce una firma real: estampar una imagen con cualquier visor de PDF, por bonito que quede. La diferencia completa está en la guía general, Cómo firmar un PDF con certificado digital; y si lo tuyo no es Linux sino huir de Adobe en cualquier sistema, ese mapa está en Firmar PDF con certificado digital sin Adobe.

Opción 1: firmar desde Chrome o Firefox, sin instalar nada

En Linux es la opción con menos piezas que se puedan romper: sin Java, sin paquetes, sin almacenes NSS.

  1. Ten tu certificado como archivo .p12 o .pfx. Si está importado en Firefox, sale con el botón «Hacer copia» (pasos exactos); si está en Chrome, con el asistente de exportación (la FNMT documenta la ruta para Chrome en Linux en su FAQ 1381).
  2. Abre FirmaLocal, arrastra el PDF, selecciona el .p12 y escribe su contraseña.
  3. Descarga el PDF firmado en PAdES-B-B, el mismo formato y nivel que produce Autofirma con un certificado software.

El cálculo criptográfico ocurre íntegro en el navegador: ni el PDF ni el certificado salen de tu equipo. Límites: una firma por documento, sin sello de tiempo y sin DNIe (usa el archivo, no la tarjeta con lector).

Opción 2: Autofirma en Ubuntu, Mint, Debian y Fedora

Autofirma tiene paquete oficial para Linux (.deb y .rpm, en firmaelectronica.gob.es) y es imprescindible en un caso: cuando el botón «Firmar» está dentro del formulario de una sede electrónica. Para un PDF suelto también sirve: abrir Autofirma, arrastrar el documento, elegir certificado, firmar.

Dos particularidades de Linux que explican la mayoría de los fallos:

  • Java es cosa tuya. A diferencia de Windows y macOS, donde el instalador lleva su propio entorno Java, el paquete de Linux depende del Java del sistema (OpenJDK 11 o superior). Sin él, Autofirma ni arranca; con uno demasiado viejo, arranca y falla a mitad. Los detalles en ¿Autofirma necesita Java?.
  • El almacén no es el de Chrome. Autofirma en Linux lee el almacén NSS de Firefox, no el de Chrome. Si tu certificado está solo en Chrome, Autofirma no lo verá: impórtalo en Firefox o dale el .p12 directamente.

La instalación paso a paso por distribución, con las dependencias y el certificado raíz del servicio local, está en Instalar Autofirma en Linux; si ya está instalada pero la ventana no llega a aparecer, la guía es Autofirma no se abre en Linux.

Opción 3: LibreOffice, el que ya tienes instalado

LibreOffice —preinstalado en Ubuntu y Mint— firma digitalmente PDF ya existentes: menú Archivo → Firmas digitales, elegir certificado, firmar. En Linux toma los certificados del almacén de Firefox, así que el requisito es el mismo que con Autofirma: el certificado importado en Firefox (Ajustes → Privacidad y seguridad → Ver certificados → Importar, con el .p12).

Un extra que ninguna otra opción de esta guía tiene: en Herramientas → Opciones → LibreOffice → Seguridad → TSA puedes configurar una autoridad de sellado de tiempo para los PDF que exportes. Para el trámite típico no hace falta, pero existe.

«¿Y con la terminal?»

Se puede —OpenSSL prepara el .p12 y hay herramientas Java de línea de comandos— pero para el caso común es matarse a configurar algo que las tres opciones de arriba hacen en un minuto. Donde la terminal sí brilla es en la verificación: pdfsig (paquete poppler-utils) valida la firma de un PDF sin salir de la consola. Lo usamos en Cómo saber si una firma digital es válida.

sudo apt install poppler-utils
pdfsig documento-firmado.pdf

Comprobar que la firma vale

Antes de enviar nada, sube el PDF firmado a VALIDe, el validador oficial de la Administración: debe mostrar la firma como válida y el certificado vigente. Si prefieres no salir del equipo, pdfsig te da la misma respuesta en local. Y si el trámite tiene el botón de firma dentro de la propia sede, ninguna de estas herramientas lo sustituye: comprueba tu caso en ¿Lo aceptará la sede?.

Fuentes

FirmaLocal genera firmas electrónicas avanzadas basadas en certificado cualificado (PAdES-B-B), la misma clase de firma que produce Autofirma con un certificado software. No sustituye a la firma con DNIe ni a la autenticación dentro de una sede electrónica. FirmaLocal no presta asesoramiento jurídico.