Desde la versión 5.4, LibreOffice permite firmar digitalmente documentos con OpenPGP. Por este motivo en el siguiente artículo veremos:
- Las utilidades que tiene firmar un documento.
- El procedimiento para firmar digitalmente un documento en LibreOffice.
Nota: Libreoffice permite firmar documentos con pares de claves generadas con PGP, Enigmal, GPA, Kgpg, Kleopatra, etc.
Nota: LibreOffice únicamente permite firmar digitalmente documentos con el formato .odt (OpenDocument).
UTILIDADES QUE TIENE FIRMAR DIGITALMENTE UN DOCUMENTO
Las utilidades de firmar digitalmente un documento de LibreOffice son las siguientes:
- Garantizar que el documento lo ha escrito una persona determinada.
- Garantizar la integridad del documento firmado. Mediante la firma digital podemos asegurar que el contenido del documento no ha sido modificado por una tercera persona.
En otras palabras, si yo firmo un documento y el receptor comprueba que mi firma es correcta, tendrá garantías que soy yo quien ha realizado el documento y que nadie más que no sea yo ha modificado su contenido.
FIRMAR DIGITALMENTE UN DOCUMENTO DE LIBREOFFICE
Las instrucciones a seguir para firmar digitalmente un documento de LibreOffice son las siguientes.
Crear un par de claves para firmar digitalmente el documento
Si ya tenéis creadas un par de claves entonces no es necesario seguir las instrucciones de este apartado.
En caso que no tengáis ningún par de claves deberemos seguir las siguientes instrucciones. Para crear un par de claves PGP abran una terminal ejecuten el siguiente comando para instalar la utilidad que nos permitirá generar el par de claves:
sudo apt-get install gnupg
Una vez finalizada la instalación ya podemos crear el par de claves ejecutando el siguiente comando en la terminal:
gpg --gen-key
Nota: Con el comando usado se generarán un par de claves usando los parámetros por defecto de gpg.
Durante el proceso de creación del par de claves se nos preguntará:
- Nuestro nombre y apellidos para crear un id de usuario. En mi caso he usado el nombre joan geekland.
- Una dirección de email. En mi caso he usado la dirección geeklandmail.com
- Una descripción del uso que le daremos a nuestra clave.
- La clave de nuestra contraseña privada. Esta clave debe ser una clave segura y la tendremos que recordar siempre.
Una vez introducidos estos parámetros se creará el par de claves. Una vez creadas las claves vamos a identificar el fingerprint de la clave pública que hemos creado. Para ello ejecutamos el siguiente comando en la terminal:
gpg --list-public-keys
El resultado obtenido es el siguiente:
joan@debian:~$ gpg –list-public-keys pub rsa4096 2010-10-07 [SC] [caducó: 2015-02-05] pub rsa2048 2013-08-03 [SCA] [caduca: 2018-08-02] |
De entre todas las claves que aparecerán en la pantalla tenemos que identificar la que acabamos de crear. Una vez identificada vemos que en mi caso el fingerprint de la clave pública que acabo de crear es el 42E998565B27AFDBEDF97394395E65B1F783572D . Este dato me será de utilidad para que las personas que reciban mi fichero de LibreOffice puedan validar su firma sin problemas.
Firmar digitalmente el documento
El proceso para firmar digitalmente el documento es extremadamente sencillo. Una vez finalizado el documento nos vamos al menú Archivo, cuando se despliegue el menú posicionamos el puntero del mouse en la opción Firmas digitales y finalmente clicamos en la opción Firmas digitales…
A continuación clicamos encima de la opción Firmar el documento…
Seguidamente seleccionamos la firma con la que queremos firmar el documento y presionamos encima del botón Firmar.
Finalmente tenemos que introducir la clave de nuestra contraseña privada para firmar el documento y presionar el botón OK.
A estas alturas el documento está firmado. Tal y como pueden ver en la siguiente captura de pantalla, el documento tiene una franja azul adicional que indica que el documento está correctamente firmado.
Una vez firmado el documento lo podemos cerrar y enviar a una tercera persona.
¿CÓMO COMPROBAR LA VALIDEZ DE UNA FIRMA DIGITAL DE UN DOCUMENTO DE LIBREOFFICE?
Ahora supongamos que una tercera persona abre el documento firmado que acabamos de enviar. Cuando esta tercera persona abra el documento en su ordenador se encontrará con la siguiente situación:
En la captura de pantalla pone claramente que el documento dispone de una firma digital, pero no puede ser validada.
Validar la firma digital que trae incrustada el documento de LibreOffice
Para validar la firma abriremos una terminal y ejecutaremos el siguiente comando:
gpg --list-keys
El resultado obtenido será parecido al siguiente:
joan@ubuntu:~$ gpg –list-keys pub rsa2048 2013-08-03 [SCA] [caduca: 2018-08-02] |
La clave pública de color azul es la correspondiente al documento de LibreOffice. Para su validación procederemos del siguiente modo:
Abriremos una terminal y ejecutaremos el siguiente comando:
gpg --edit-key “joan geekland”
Nota: En vuestro caso deberéis reemplazar la parte de color rojo por el nombre de usuario de quien genero la clave pública.
La salida del comando será parecida a la siguiente:
joan@ubuntu:~$ gpg –edit-key «joan geekland» pub rsa2048/395E65B1F783572D |
Para ver el fingerprint de la clave ejecutaremos el comando fpr obteniendo el siguiente resultado:
gpg> fpr |
Una vez conocemos el fingerprint de nuestra clave deberemos contactar con la persona que ha enviado el documento pare preguntarle el fingerprint de su clave pública. Si el fingerprint de su clave pública es el 42E9 9856 5B27 AFDB EDF9 7394 395E 65B1 F783 572D entonces estaremos seguros que la clave es válida y confiable.
Como ahora estamos completamente seguros que la firma es válida ejecutamos el comando trust para asignar un valor de confianza a la clave pública. Después de ejecutar el comando trust deberemos proceder tal y como se detalla a continuación:
gpg> trust Por favor, decida su nivel de confianza en que este usuario 1 = No lo sé o prefiero no decirlo ¿Su decisión? 4 pub rsa2048/395E65B1F783572D gpg> quit |
Después de ejecutar el comando trust deberemos realizar las siguientes acciones:
- Inicialmente deberemos definir el nivel de confianza que queremos asignar a la clave pública. En mi caso asigno el nivel 4.
- Cuando haya finalizado el proceso de validación de la clave deberemos ejecutar el comando quit.
Después de realizar estos pasos la firma del documento estará validada para siempre. Si en un futuro nos envían otro documento con la misma firma no tendremos que realizar absolutamente nada. Tan solo tendremos que abrir el documento y comprobar si la firma del documento es de confianza.
Comprobación de la validez de la firma digital
Una vez validada la firma ya podemos abrir el documento de nuevo. Tal y como se puede ver en la captura de pantalla, ahora la firma es completamente válida.
Por lo tanto podemos estar seguros de lo siguiente:
- El mensaje lo envía quien realmente dice enviarlo.
- El mensaje no ha sido modificado por una tercera persona. Por lo tanto podemos estar seguros que el contenido del fichero no ha sido manipulado por un tercero.
Hola.
Estupendo paso-a-paso, que va a los favoritos.
En el comando trust ¿qué implica responder con «5 = confío absolutamente» frente a «4 = Confío totalmente» a nivel práctico?
Una petición: el mismo artículo pero con documentos PDF /A.
Muchas gracias por la información.
Hola Jacobo,
He estado mirando la documentation de GnuPG y no lo sé. De hecho en la documentación de GnuPG ni se menciona la opción 5. Hay una opción que se llama s y lo que hace es mostrar más información. Dejo la URL por si le quieres dar un vistazo.
https://www.gnupg.org/gph/es/manual/x354.html
¿Puede que sea un error de traducción?
Queda anotada tu petición pero no prometo nada. Imagino que los PDF /A se firman igual que los PDF normales. Saludos
Hola, generé las claves sin problemas pero Libreoffice no las reconoce. En herramientas/opciones/LibreOffice/Seguridad configuré la ruta de los certificados (.gnupg), reinicié el libreoffice y sigue sin reconocer los certificados tipo openpgp . Algo me salté o falto por hacer? Gracias por el artículo
Hola
En mi caso te prediria que comprobarás que estás usando la última versión de LibreOffice. Existen versiones de LibreOffice que me han dado problemas parecidos a los que estás describiendo.
En el caso que no haya forma de solucionar el problema puedes usar un certificado de Comodo para firmar emails y documentos de ofimàtica.
Saludos
Hola Amaury. Pasado el tiempo, pudiste solucionarlo? Me pasa lo mismo, no aparece ningún certificado para usar. (no reinicié, quizás sea sólo eso.., pero vi tu msgto y te escribo ya que no puedo reiniciar en este momento).