eDNI y AutoFirma
Tramites con la Administración desde GNU/Linux
Uno de los mayores "traumas" de los usuarios es todo lo relacionado con el certificado electrónico y la firma digital de documentos... y si encima estamos en GNU/Linux, parece que es todo más oscuro.
Voy a intentar crear un mini tutorial para explicar como dejar todo perfectamente configurado para poder usar nuestro Certificado Digital en tarjeta y nuestro DNI electrónico y también como dejar instalada la aplicación de AutoFirma en Debian.
Funciona correctamente en Debian 12, OpenJDK 17 y con cualquiera de las últimas versiones de Firefox (sin necesidad de usar versiones ESR).
eDNI y Tarjetas con Certificado Digital
Para poder usar el certificado digital almacenado en una tarjeta criptográfica necesitamos un lector de tarjetas que soporte el modelo de la tarjeta.
Puedes localizar varios modelos de teclados que te permitan leer casi cualquier tarjeta criptográfica, eso sí si vas a usar el DNI asegurate que puede leer los DNI versión 3.0
Yo personalmente me he comprado un lector USB "pocket" que funciona perfectamente en Debian (y otros Sistemas Operativos), lo mejor de todo es que ocupa lo mismo que un USB y lo puedes llevar en cualquier sitio.
Software para lectura de tarjetas criptográficas
Para que nuestro equipo con Debian pueda acceder sin problemas a leer las tarjetas criptográficas necesitamos instalar alguna librería extra que no vienen instaladas por defecto. Para ello abre el terminal y ejecuta:
# Actualizamos el sistema
sudo apt update
sudo apt -y upgrade
# Instalamos librerias para acceso a tarjetas criptográficas
sudo apt -y install pcscd pcsc-tools pinentry-gtk2 libassuan0 libccid
Ahora dejaremos activado el servicio de pcscd que será el encargado de estar pendiente de cuando se introduce una tarjeta en el lector de tarjetas y comunicarselo al sistema (mecanismo plug & play)
sudo systemctl start pcscd
sudo systemctl enable pcscd
Si "pinchamos" un lector externo de tarjetas USB o un teclado con lector incorporado, podemos ver si lo reconoce directamente con el comando lsusb:
lsusb
...
Bus 002 Device 004: ID 25dd:3111 BIT4ID miniLector Pocket
...
Bus 002 Device 005: ID 04f2:1469 Chicony Electronics Co., Ltd HP Skylab USB Smartcard Keyboard
En el primer caso es un lector USB y en el segundo un teclado de HP que tiene incorporado el lector.
Comprobamos el sistema de detección de tarjetas, para ello en la terminal usaremos el comando pcsc_scan:
pcsc_scan
PC/SC device scanner
V 1.6.2 (c) 2001-2022, Ludovic Rousseau <ludovic.rousseau@free.fr>
Using reader plug'n play mechanism
Scanning present readers...
Waiting for the first reader... |
Vemos que se queda esperando a que insertemos una tarjeta, pulsamos CTRL+C para cortar el proceso y continuamos con el resto de librerías necesarias.
Inclusión de librerias para DNI 3.0
Para los últimos modelos de eDNI, vamos a tener que instalar las librerías necesarias para el chip del DNI, desde la sede de la FNMT podemos bajarnos la última versión que está disponible para Debian 12.
https://www.sede.fnmt.gob.es/documents/10445900/11635653/libpkcs11-fnmtdnie_1.6.9_amd64.deb
Descarga el fichero y desde la terminal ejecuta lo siguiente:
# Descargar con wget
wget https://www.sede.fnmt.gob.es/documents/10445900/11635653/libpkcs11-fnmtdnie_1.6.9_amd64.deb
# Instalar
sudo dpkg -i libpkcs11-fnmtdnie_1.6.9_amd64.deb
El software disponible en la FNMT lo tienes en el siguiente enlace:
En cuanto instales la librería 1.6.9 de la FNMT se iniciará el configurador para el navegador, en caso de que no se inicie automáticamente escribe en la terminal:
open /usr/share/libpkcs11-fnmtdnie/launch.html
Sigue los pasos que te indican. Un resumen rápido de lo que debes hacer en Firefox es el siguiente:
Abrir menú de ajustes.
Ir a: "Privacidad & Seguridad"
Bajar y seleccionar: "Dispositivos de Seguridad"
Pulsar el botón: "Cargar"
Poner un nombre al modulo (ejemplo: FNMT y DNI PKCS#11)
En la ruta de la libreria, poner: /usr/lib/libpkcs11-fnmtdnie.so
Finalizar pulsando el botón Aceptar
Con esto tu navegador quedará correctamente configurado para usar cualquier Certificado Digital y el DNI Electrónico.
Gestor de Tarjetas de Certificados Electrónicos
Si dispones de una tarjeta electrónica con varios certificados, la FNMT ha desarrollado una aplicación Java para la gestión de los Certificados en Tarjeta Criptográfica CERES que funciona desde GNU/Linux.
Este software te permite realizar operaciones con tu tarjeta:
Visor de Certificados
Gestor de certificados
Importador de certificados
Cambiar el PIN actual
Desbloquear el PIN (necesitas el código de desbloqueo)
Para instalarlo, de nuevo desde la terminal ejecuta los siguientes comandos:
mkdir -p ~/TarjetaFNMT
wget https://www.sede.fnmt.gob.es/documents/10445900/10528994/app_tarjeta_fnmt.zip -O /tmp/tarjeta_fnmt.zip
cd ~/TarjetaFNMT
unzip /tmp/tarjeta_fnmt.zip
Actualización: Con versiones de Java/OpenJDK superiores a la versión 15, no funciona.
Si quieres dejarlo funcionando lee el siguiente artículo:
Una vez aplicada la corrección, la aplicación funcionará perfectamente:
AutoFirma
A fecha de hoy, la última versión disponible de AutoFirma es la 1.8.2, puedes descargar el zip que contiene el fichero Debian de la siguiente URL:
https://estaticos.redsara.es/comunes/autofirma/currentversion/AutoFirma_Linux_Debian.zip
Desde la terminal puedes realizarlo escribiendo:
# Descargar
curl https://estaticos.redsara.es/comunes/autofirma/currentversion/AutoFirma_Linux_Debian.zip --output /tmp/AutoFirma_Linux_Debian.zip
# Extraer fichero debian
cd /tmp
unzip AutoFirma_Linux_Debian.zip
Con el fichero .deb disponible, lo puedes instalar mediante la siguiente instrucción:
sudo dpkg -i /tmp/AutoFirma_1_8_2.deb
Ausencia de Repositorios Debian
Realmente es una pena que todo el trabajo realizado tanto por los desarrolladores de la FNMT, como por los del Ministerio de Hacienda y Función Pública, en la elaboración de paquetes Debian quede diluido al no publicarse en un repositorio propio oficial de paquetería debian, del que cualquier usuario pueda actualizar directamente las nuevas versiones que se publiquen sin tener que estar continuamente pendiente de ello.
NOTA: En temas de firma electrónica y certificados sólo usar fuentes de librerías y paquetes oficiales de los sitios oficiales: FNMP, Policía Nacional, RedSara, etc. y no usar repositorios externos.
Instalación desde SoloConLinux
Por si alquien quiere simplificar el uso de la instalación, en el repositorio de SoloConLinux he subido a modo personal las versiones tanto de la FNMT como de AutoFirma para simplificar todo el proceso de instalación:
# Instalacion de Gestion de Certificados y Tarjetas Criptográficas
sudo apt -y install libpkcs11-fnmtdnie pcsc-tools libccid
# Instalación de AutoFirma
sudo apt -y install autofirma openjdk-17-jdk
Nota: Poder usar el repositorio de SoloConLinux debes de tenerlo configurado como repositorio extra en su Debian. Las instrucciones las tienes en: