Instalar certificado digital y AutoFirma en Linux Mint 20 y Firefox

Tutorial / notas de José Pérez de Lama

Cambié de ordenador y tenía que volver a instalar el certificado digital y la aplicación AutoFirma. Por alguna razón — por probar y porque leí que era una distribución de carácter comunitario — decidí instalar (GNU)-Linux-Mint en lugar de Ubuntu-GNU-Linux que usaba desde hace años, y que en cualquier caso es muy recomendable.

La cosa ha ido bastante bien, aunque aún hay algún detalle por afinar.

La configuración que tengo es:

  • Linux Mint 20 Cinnamon | Cinammon version 4.6.7
  • Firefox 86.0 (64-bit)

Importar certificado digital

En mi caso tenía el certificado digital, personal, de la FNMT (España),  instalado en el anterior ordenador. Para importarlo en el nuevo es necesario hacer — o haberla hecho en su momento, más recomendable — una copia de seguridad o back up copy.

(*) En caso de ser un certificado nuevo el procedimiento es bastante parecido; la contraseña debe ser la suministrada por la FNMT. Pude verse por ejemplo aquí: https://www.xataka.com/basics/como-instalar-certificado-digital-fnmt-firefox

No deja de resultarme curioso que el certificado digital se almacene en el navegador , en mi caso Firefox. Por lo que veo, también podría almacenarse en el gestor de correo, al menos en Thunderbird.

La copia de seguridad si ya tuvieras el certificado instalado en otro ordenador como me ocurría a mí, y no la hubieses hecho antes, se hace desde Firefox.

En al menú desplegable de arriba la derecha de la ventana de Firefox, las tres rayitas horizontales, vas a Preferencias/Preferences (tengo mi ordenador en inglés), y en la ventana que se abre, en el menú de la izquierda a Privacy & Security, y ahí, abajo de la página, a Certificates, y View Certificates.

En la ventana que se abre, Certificates Manager, selecciona el certificado del que quieras hacer copia de seguridad, y das a Backup…

Selecciona la carpeta en que quieras guardarlo, dale un nombre y ponle una clave que necesitarás para instalarlo (importarlo) o incluso para usarlo en alguna ocasión. La contraseña conviene apuntarla en un cuaderno para que no se pierda, en fin, algo fuera del ordenador. El archivo se guarda como pkc12. Yo lo copié además en un pen-drive que usé para instalarlo en el otro ordenador.

Para importarlo el procedimiento se hace desde la misma ubicación, Preferences … en el Firefox abierto en el ordenador nuevo. Se puede ir directamente poniendo en el navegador de Firefox: about:preferences#privacy

Ahí se vuelve a abrir View Certifcates, y en esta nueva ventana se da a Import que nos abre un explorador de directorios y archivos en el que buscamos el archivo de back up o copia de seguridad — yo lo instalé directamente desde el pen-drive, aunque igual no es la mejor idea.

Al seleccionarlo nos pide la contraseña (que habíamos apuntado cuidadosamente en nuestro cuaderno de claves y demás). Si todo va bien el certificado queda así instalado.

Para comprobar que está instalado en el Firefox, voy a una web a la que se pueda acceder con certificado digital, en mi caso http://www.us.es, la web de mi universidad, y compruebo que funciona correctamente. Y funciona, efectivamente.

______

Una nota por la curiosidad

¿Dónde está instalado el certificado? Lo tuve que buscar para tratar de resolver algún problemilla y lo dejo aquí anotado. En el caso de Firefox los certificados se almacenan en el directorio del perfil de Firefox. La ruta de este directorio se encuentra de nuevo a través del propio Firefox, por ejemplo, poniendo en la ventana del navegador about:profiles o se puede ir al menú de las tres rayas a Help y ahí a Troubleshooting Information y en esta página aparece aproximadamente en la octava línea del cuadro el Profile Directory y la opción Open Directory para abrir directamente la ventana del directorio.

En mi caso el directorio es del tipo:

/home/user_name/.mozilla/firefox/f7rqtrax.default-release

Que tenga este nombre acabado en default-release probablemente es un problema que hace que no me funcione aún del todo bien AutoFirma — como luego se verá. Tengo un segundo perfil acabado en default que parece que crea habitualmente el propio Firefox, pero curiosamente, eso me parece, no estaba determinado como perfil default o por defecto cuando instalé el certificado.

En este directorio se guardan diversos archivos y subdirectorios del perfil de usuario. Creo que los que tienen que ver con el certificado digital son los siguientes archivos:

cert9.db

y… quizás…

key4.db

pkcs11.txt

Sobre estos archivos se puede leer aquí: https://support.mozilla.org/es/kb/perfiles-el-lugar-donde-firefox-almacena-tus-contr

Dice:

Configuraciones de certificados de seguridad: El archivo cert9.db guarda todas tus configuraciones de certificados de seguridad y cualquier certificado SSL que hayas importado a Firefox. Deber ser el llamado Almacén de certificados, aunque en ningún sitio encuentro esta afirmación así expresada.
Configuraciones de los dispositivos de seguridad: El archivo pkcs11.txt guarda la configuración de los módulos de seguridad.

De momento interpreto que en key4.db se almacenan passwords y names y existe alguna asociación con cert9.db. Sobre cert9.db puede leerse aquí: https://www.mankier.com/5/cert9.db

Están los tres asociados a la librería NSS.

______

Instalación de AutoFirma

Lo primero es descargar el software de la web oficial del Ministerio — eso hice yo al menos considerando que estará la última versión. La versión para Linux: es un archivo comprimido zip que incluye un manual de instalación y varios archivos con varios instaladores para diferentes distribuciones. La descarga aquí:

https://firmaelectronica.gob.es/Home/Descargas.html

La versión que he descargado — con fecha 10/03/2021 — es AutoFirma v1.6.5 (30/04/2019) — la versión para Ciudadanos — otras serían para Empresas y Empleados-Públicos.

Una vez descompripmido el zip / extraídos los archivos, los guardamos en una carpeta cuyo nombre y ubicación deberemos recordar.

Conviene leer el manual, que incluye una sección de instalación en Linux.

El archivo que tenemos que usar para instalar AutoFirma en Mint es el de extensión .deb, en este caso, AutoFirma_1_6_5.deb

El manual nos indica que «para poder ejecutar AutoFirma son necesarias las siguientes dependencias, así que estas se comprueban durante el proceso de instalación:

  • JRE (Java Runtine Environment) de Oracle u OpenJDK (versión 8 o superior).
  • Biblioteca NSS Tools.»

En versiones anteriores AutoFirma sólo funcionaba con ciertas versiones de Java. Compruebo qué versión de Java tengo abriendo la terminal y tecleando: java -version que genera el siguiente prompt:

openjdk version “11.0.10” 2021-01-19
OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.20.04, mixed mode, sharing

Es decir, está instalada la versión openjdk 11.0.10 (que va a funcionar correctamente).

Hacemos doble click en el icono del archivo AutoFirma_1_6_5.deb y se inicia el instalador.

En mi caso el instalador avisó que no estaba instalada una dependencia necesaria, una librería, especificando que era ésta: libnss3-tools

Antes de continuar con la instalación, cerré el instalador e instalé la librearía con:

sudo apt-get install libnss3-tools

Volví a abrir el instalador AutoFirma_1_6_5.deb y completé la instalación.

El manual informa que el proceso deja la aplicación instalada por defecto en el directorio:
/usr/lib/AutoFirma

El manual también da instrucciones para la desinstalación de AutoFirma:

sudo apt-get remove –-purge autofirma

______

Testeo y tuneado provisional de AutoFirma

Pasamos a comprobar la instalación y el correcto funcionamiento de AutoFirma.

En mi instalación de Mint voy al menú de la esquina inferior izquierda y en el buscador tecleo AutoFirma, que aparece, pincho en el icono y se abre la aplicación.

También puede abrirse desde la terminal, tecleando AutoFirma — que tendrá la utilidad de ofrecernos el log del funcionamiento de la aplicación.

En mi caso Autofirma funciona bien. Permite cargar un pdf, seleccionado un fichero con el navegador o arrastrándolo.

La dificultad se presenta al ir a firmar el archivo. Aparece un cuadro de Diálogo de Seguridad que nos dice:

No se han encontrado certificados válidos en el almacén. Inserte una tarjeta inteligente en el lector y pulse Recargar, o cargue un almacén externo.

Atribuyo el problema a que la aplicación no puede encontrar la ruta correcta del «Almacén de certificados». Quizás sea, en mi caso, por el nombre del directorio del perfil que comentaba antes terminado en .default-release

Diría que esto podría arreglarse cambiando la ruta desde la terminal, pero aún no he sabido hacerlo.

La solución provisional ha sido picar en el segundo icono del cuadro «Diálogo de Seguridad» que dice Abrir almacén de claves externo.

Se abre un navegador en la venta de AutoFirma en el que buscamos la copia de seguridad del certificado digital y la seleccionamos.

Nos pide la clave y la introducimos.

A partir de ahí se completa el proceso normal de AutoFirma.

Esta fue la solución provisional con la que he lo pude hacer funcionar inicialmente. No es demasiado cómoda: cada vez que se abre la aplicación para firmar hay que volver a buscar el archivo de la copia de seguridad y meter la contraseña.

______

Troubleshooting / solución del problema

Afortunadamente se pudo resolver. Tenía que ver efectivamente con el doble perfil de Firefox, y la solución la encontré aquí — ¡gracias!:

https://github.com/ctt-gob-es/clienteafirma/issues/163

… en mi Debian 10 tenía el mismo problema, con aviso de que el almacén no contiene ningún certificado.
Resuelto dejando un solo perfil de usuario en Firefox (por defecto se crean 2). Con about:profile he eliminado el perfil sin uso.

Una vez borrado el segundo perfil, en mi caso elegí la opción, Remove y luego Delete files, sin más, abrí el AutoFirma y, probando a firmar un documento PDF, ya encontró sin problemas la ruta al Almacén de certificados. :-O

______

Firmar PDFs con Libre Office

En el proceso probé a firmar un pdf desde Libre Office. Funcionó sin demasiada dificultad, -elegir la ruta / path de los certificados en una opción del programa — aunque había un problema con la validación del certificado — el mío de la FNMT (España) — que no he llegado a abordar. Instrucciones sobre esto aquí:

https://help.libreoffice.org/6.2/en-US/text/shared/guide/digital_signatures.html

____________

Gracias a la comunidad de software libre por los tutoriales en la web y otras fuentes que he usado. He tratado de citar las fuentes usadas lo mejor posible aunque como he visto muchas páginas es posible que alguna no se haya recogido adecuadamente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .