Emezeta.com

Cómo firmar PDF con certificado digital


En el artículo anterior, hablamos de cómo sacar el certificado digital en España, y así poder utilizarlo para realizar diversos trámites oficiales por Internet, como la declaración de la Renta, IRPF, IVA o IGIC, ahorrándonos el tiempo que supondría tener que presentarlo de forma física.

Programas gratis para firmar PDF (con certificado digital)

Parte I: Cómo obtener el certificado digital
Parte II: Cómo firmar PDF con certificado digital

Ahora que tenemos un certificado digital que nos representa como persona física, podemos utilizarlo para firmar documentos PDF (u otros) y garantizar que somos los autores reales de ese documento y que estos no han sido manipulados o modificados por terceras personas.

Recordemos que, en España, según la Ley 59/2003, un documento firmado con un certificado digital de la FNMT tiene la misma validez legal que una firma manuscrita.

Firmar con un certificado digital: ¿Cómo funciona?

Es muy sencillo. Para firmar un documento PDF sólo tenemos que utilizar nuestra clave privada del certificado digital (ver artículo anterior) y aplicarla sobre el documento que queremos firmar. Esto generará un documento PDF firmado que no se podrá modificar. O al menos, si se modifica, perderá su firma.

Sólo necesitaremos un programa que nos permita firmar documentos. Por su parte, el receptor, debe asegurarse de que su sistema o lector de PDF es capaz de verificar correctamente las firmas digitales.

Paso 1: Configura tu lector de PDF

Cada lector de PDF (si soporta firmas digitales) tiene su propio sistema de verificación de firmas. Yo lo explicaré con Adobe Reader puesto que es el más extendido, pero con otros como Foxit Reader pasa exactamente lo mismo.

Configurar Adobe Reader para validar o verificar firmas de certificados digitales en archivos PDF

Al abrir un documento PDF firmado nos aparecerá una banda azul en la parte superior que nos informará sobre la firma. Puede darnos cualquiera de los siguientes mensajes:

  • Firmado y todas las firmas son válidas: El documento PDF está firmado con un certificado digital y la firma se ha comprobado y es válida.
  • Hay al menos una firma que presenta problemas: El documento PDF está firmado, pero el sistema o el Adobe Reader parece que no pueden comprobarlo.
  • Hay al menos una firma que requiere validación: El documento PDF está firmado, pero tu Adobe Reader no tiene activada la validación de firmas.

En los dos últimos casos, lo más probable es que Adobe Reader no esté configurado correctamente, por lo que accedemos a:

  • Menú Edición / Preferencias
  • Apartado Firmas / Verificación.
  • Verificamos que la casilla Verificar firmas al abrir el documento está activada.
  • Al final de esa ventana, verificamos también que las dos últimas casillas de la pantalla están activadas: Validando firmas y Validando documentos certificados.

Si continúas teniendo problemas con la configuración de Adobe Reader, puedes echar un ojo a esta pequeña guía oficial del BOE sobre la validación de firmas.

Paso 2: Instala los certificados de la FNMT

También deberías tener los certificados de la autoridad certificadora FNMT instalados, por lo que podemos descargarlos, hacer doble clic en ellos y pulsar en Instalar certificado, por si no estás seguro si los tienes:

URL | Certificado FNMT Clase 2 CA
URL | Certificado AC Raíz FNMT-RCM

Instalar en el sistema los certificados digitales de la FNMT

En GNU/Linux, los certificados se pueden gestionar mediante Firefox o Chrome, o mediante la utilidad certool y pk12util, presentes en el paquete libnss3-tools.

1. PDF Creator (Windows)

Una de las herramientas más cómodas que permiten el firmado de documentos PDF es PDF Creator. Funciona mediante las ya clásicas impresoras virtuales. Es decir, instalas el programa, este instala una impresora virtual en tu equipo, y cada vez que selecciones esta impresora al imprimir algo, creará un archivo PDF con el contenido a imprimir.

Esto permite crear archivos PDF a partir de otros tipos de documentos, impresiones de aplicaciones, imágenes, páginas webs y cualquier otro recurso imprimible. PDF Creator destaca porque tiene una sección PDF / Signature donde puedes seleccionar la clave privada de tu certificado digital y configurar ciertos parámetros de la firma, como la razón, contacto y localidad.

Programas gratis para firmar PDF: Impresora virtual PDF Creator

URL | PDF Creator (Free)

También permite el sellado de tiempo, así como mostrar una marca de agua para informar que el PDF está firmado. Es muy completo, pero su mayor pega es que sólo está disponible para sistemas Windows.

2. DigiSigner (Win, Mac, Linux)

DigiSigner es un programa que puede ser útil como todo-en-uno. Además de permitir firmar documentos PDF con tu certificado digital, también puedes utilizarlo como visor básico de documentos PDF.

Programas gratis para firmar PDF: Visor de PDF DigiSigner

URL | DigiSigner (Free)

DigiSigner también permite insertar una marca de agua, así como un sellado de tiempo o realizar un procesamiento por lotes para firmar varios archivos PDF de una sola vez. Es multiplataforma, por lo que está disponible para Windows, GNU/Linux y Mac.

3. Sinadura (Win, Mac, Linux)

Sinadura Desktop CE es una estupenda aplicación multiplataforma que permite firmar documentos de cualquier formato, no sólo archivos PDF. Es un proyecto español de software libre que fue desarrollado para fomentar su uso en plataformas GNU/Linux y facilitar la gestión digital de documentos firmados.

El programa permite, desde una interfaz muy sencilla, firmar varios documentos de una sola vez y realizar múltiples operaciones comunes, como sellado de tiempo, validaciones u otras.

Programas gratis para firmar PDF: Sinadura Desktop CE

URL | Sinadura Desktop CE

NOTA: Es posible que tengas problemas para firmar documentos PDF con certificado digital de la FNMT en Sinadura. Esto ocurre porque el programa, por defecto, intenta realizar una validación OCSP, un servicio que la FNMT no ofrece de forma gratuita. Para solventarlo, accede a Preferencias / Firma y desactiva la casilla Incluir validación online del estado de los certificados (recomendado).

4. JSignPdf (Win, Mac, Linux)

JSignPDF puede ser una aplicación sencilla para usuarios ofimáticos o una aplicación avanzada para usuarios con conocimientos sobre seguridad y firmas digitales, puesto que permite, mediante una casilla Advanced view, pasar de una a otra modalidad.

En la modalidad básica, basta con seleccionar el almacén de certificados, el documento original, donde guardaremos el documento firmado, y algunos datos opcionales para la firma. También se puede configurar de forma visible la marca de agua, con varios parámetros de diseño.

Programas gratis para firmar PDF: JSignPDF (Basic and advanced)

URL | JSignPDF

La versión avanzada, por su parte, incorpora todo tipo de opciones: cargar alias de certificados, realizar cifrados, certificaciones, selección de algoritmo hash y un largo etcétera.

5. Firmador de Escritorio (Win, Linux)

Si lo que buscas es una aplicación de escritorio muy sencilla para firmar archivos PDF, probablemente, aquí ha acabado tu recorrido. Firmador de escritorio de Eprinsa, es una aplicación muy sencilla que nos permite firmar documentos PDF en apenas tres clics.

Programas gratis para firmar PDF: Firmador de escritorio de Eprinsa

URL | Firmador de escritorio

El programa es gratuito y está basado en java, lo que lo hace multiplataforma. Es muy cómodo y es ideal para usuarios poco familiarizados con los, generalmente, complejos pasos y conceptos de seguridad de los certificados digitales.

6. iSafePDF (Windows)

Probablemente se trate del programa más feo y tosco que exista para firmar ficheros PDF con certificado digital, pero funciona. Basta con seleccionar el archivo a firmar, el certificado digital en cuestión y pulsar el botón Process para realizar la firma.

Programas gratis para firmar PDF: iSafePDF

URL | iSafePDF

Sin embargo, a pesar de su aspecto tan poco atractivo, el programa es bastante simple y muy intuitivo, permitiendo de forma opcional cifrar con contraseña o establecer protecciones (permitir o prohibir imprimir, copiar, etc...), así como establecer un sellado de tiempo o metadatos.

7. XolidoSign

Quizás uno de los programas con una interfaz más cuidada y apta para usuarios nóveles es Xolido Sign. Entre su funcionalidad básica, se encuentra la firma de archivos de cualquier tipo, el sellado de tiempo o la verificación de firmas.

Programas gratis para firmar PDF: Xolido Sign

URL | Xolido Sign

Además, también es uno de los programas más completos en cuanto al formato de la firma, permitiendo formatos básicos como PKCS7, CMS a algunas más avanzadas dentro de la familia CAdES. También soporta PAdES-BES para firmas incrustadas.

8. EcoFirma (Win, Mac, Linux)

El Ministerio de Industria, Energía y Turismo desarrolló una interesante aplicación llamada EcoFirma, que permite firmar documentos de cualquier tipo, validar firmas o añadir nuevas firmas.

Programas gratis para firmar PDF: EcoFirma

URL | EcoFirma

Entre otras cosas, permite proteger documentos con una contraseña o con tu clave pública del certificado digital, y que sólo el autor pueda leer los documentos (con su clave privada), calcular huella del fichero (MD5, SHA1, SHA2, etc...), así como varias opciones interesantes.

Permite sellado de tiempo, utilización de la familia XAdES para el tipo de firma, y varias opciones más. Funciona mediante Java, por lo que es multiplataforma y puede utilizarse tanto en Windows, GNU/Linux como Mac.

9. PDF Sign (Windows)

Si eres administrador de sistemas o estás buscando una versión para firmar PDF con certificado digital desde línea de comandos, es posible utilizando PDF Sign. Basta con escribir algo similar a lo siguiente:

pdf_sign.exe -i fichero.pdf -o fichero.signed.pdf -c certificado.pfx -p password

Este pequeño programa permite especificar ciertos parámetros para determinar los archivos a firmar, personalizar la firma, utilizar certificados digitales u otras opciones. Ideal para la creación de scripts o programas que automaticen las tareas.

Programas gratis para firmar PDF: Pdf sign

URL | PDFSign

Está disponible sólo para plataformas Windows. Si lo que buscas es algo un poco más multiplataforma, puedes probar PortableSigner, desarrollado en Java, permitiendo la utilización bajo entornos Mac o GNU/Linux:

java -jar PortableSigner.jar -n -t input.pdf -o output.pdf -s certificate.pfx -p secret

URL | PortableSigner

10. LibreOffice (Win, Mac, Linux)

Por último, mencionar que la suite LibreOffice (la alternativa libre a Microsoft Office) permite firmar con certificado digital los documentos OpenDocument creados con sus programas:

  • Firmar archivos .ODT con Writer (Alternativa a Word, DOC/DOCX)
  • Firmar archivos .ODS con Calc (Alternativa a Excel, XLS/XLSX)
  • Firmar archivos .ODP con Impress (Alternativa a PowerPoint, PPT/PPTX)
  • Firmar archivos .ODG con Draw (Alternativa a Visio, VSD/VDX)
  • Firmar archivos .ODF con Math
Programas gratis para firmar documentos de Word: LibreOffice Writer

URL | LibreOffice

Para firmar, basta con guardar nuestro archivo con el programa que estemos utilizando, por ejemplo LibreOffice Writer, y acto seguido acceder al menú Archivo / Firmas digitales. Una vez ahí pulsamos Firmar el documento y seleccionamos el certificado deseado.

Si quieres más información, puedes consultar el documento Aplicar firmas digitales, de la ayuda de LibreOffice. Obviamente, la suite de Microsoft también permite firmas digitales.

NOTA: Si aún no tienes un certificado digital, aquí tienes las instrucciones sobre cómo conseguir un certificado digital de la FNMT en España y para qué te puede servir.