En este tutorial explicaré qué paquetes descargar y como configurar Firefox para poder usar el DNI electrónico en trámites con la Administración.

Table of Contents

Notas comunes

El principal paquete que necesitas es “libpkcs11-dnie”, pero también son importantes “AutoFirma” (para firmar trámites con la Administración o firmar PDFs) y “Configurador FNMT” (para pedir certificados, como el de representante de persona jurídica, a través de la web de la Fábrica Nacional de Moneda y Timbre). En las siguientes secciones indico como instalar estos paquetes en los diferentes sistemas operativos Linux.

Debian/Ubuntu

Instala los siguientes paquetes usando apt:

  • pcsc-tools
  • pcscd
  • pinentry-gtk2
  • libccid

Descarga el archivo DEB para Debian/Ubuntu (64 bits) de la web oficial del DNI Electrónico. Aquí tienes un enlace directo al archivo: https://www.dnielectronico.es/descargas/distribuciones_linux/libpkcs11-dnie_1.6.8_amd64.deb (el enlace puede dejar de funcionar si actualizan la versión del paquete).

Instala el archivo con dpkg (también puedes usar apt):

sudo dpkg -i libpkcs11-dnie_1.6.8_amd64.deb
# con apt
sudo apt install ./libpkcs11-dnie_1.6.8_amd64.deb

Tras esto, puedes comprobar el funcionamiento del lector con el comando pcsc_scan.

Para firmar documentos y los trámites con la Administración, tienes que descargar e instalar el software AutoFirma, disponible en https://firmaelectronica.gob.es/Home/Descargas.html o https://administracionelectronica.gob.es/ctt/clienteafirma/descargas. Descarga la versión para Linux. Este archivo ZIP incluye el archivo DEB y el RPM. Descomprime el archivo e instala el paquete DEB con dpkg o con apt (igual que antes). Si te aparece un problema de dependencias (después de instalar con dpkg), ejecuta sudo apt -f install y vuelve a instalar el paquete para comprobar que todo se instala correctamente.

“Configurador FNMT” está disponible en https://www.sede.fnmt.gob.es/descargas/descarga-software/instalacion-software-generacion-de-claves.

Arch Linux

Desde AUR puedes instalar todos los paquetes necesarios:

  • libpkcs11-dnie
  • configuradorfnmt
  • autofirma

Habilita el servicio pcscd (si no lo está ya):

sudo systemctl enable --now pcscd.service

Fedora

Descarga el archivo libpkcs11-dnie-1.6.8-1.x86_64.rpm (el nombre puede variar con la versión) en la sección para Fedora de la web oficial e instálalo (con un doble click).

Igual que con Debian, puedes descargar el paquete de AutoFirma para Fedora de https://firmaelectronica.gob.es/Home/Descargas.html o https://administracionelectronica.gob.es/ctt/clienteafirma/descargas. Instálalo.

“Configurador FNMT” está disponible en https://www.sede.fnmt.gob.es/descargas/descarga-software/instalacion-software-generacion-de-claves.

Fedora 40

Si tienes problemas para instalar el archivo libpkcs11-dnie-1.6.8-1.x86_64.rpm en Fedora 40 debido a que falta alguna dependencia, prueba a instalarlo con rpm:

sudo rpm -i --nodeps libpkcs11-dnie-1.6.8-1.x86_64.rpm

Con respecto a AutoFirma, aparece un error de que no puede iniciar el entorno gráfico. Tras desinstalar e instalar un par de veces, la única solución que me ha funcionado es compilar el programa y, entonces, instalar el RPM. Desconozco el error y puede que a ti te funcione correctamente. Si quieres compilar el programa, estos son los pasos que he seguido:

  1. Desinstalar AutoFirma si está instalado:
    sudo rpm -r autofirma
    
  2. Clonar el repositorio oficial:
    git clone https://github.com/ctt-gob-es/clienteafirma.git
    
  3. Marcar que queremos utilizar la versión ‘1.8.3’, que es la última versión estable en el momento de este artículo:
    git checkout tags/v1.8.3
    
  4. Instalar Apache Maven si no está instalado:
    sudo dnf install maven
    
  5. Ahora toca cambiar algunos valores del código fuente del programa. A continuación indicaré el archivo y lo que hay que cambiar (estos cambios están basados en los mensajes de error que aparecían al compilar):

     # clienteafirma/pom.xml
     <jdk.version>1.7</jdk.version> -> cambia la versión a 1.8
     <afirma.lib.itex.version>1.6</afirma.lib.itex.version> -> cambia la versión a 1.5
    
     # clienteafirma/afirma-signature-retriever/pom.xml
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-compiler-plugin</artifactId>
     <configuration>
     <source>1.6</source> -> cambia a 1.8
     <target>1.6</target> -> cambia a 1.8
    
     # clienteafirma/afirma-signature-storage/pom.xml
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-compiler-plugin</artifactId>
     <configuration>
     <source>1.6</source> -> cambia a 1.8
     <target>1.6</target> -> cambia a 1.8
    
  6. En principio no hay que hacer más cambios, aunque puede depender del momento en que se haga la compilación. Cambia a la carpeta ‘clienteafirma’ (cd clienteafirma) y compila con el siguiente comando:
    mvn clean install -DskipTests -Denv=install
    
  7. Si no aparecen errores, la compilación generará el ejecutable Java en ‘clienteafirma/afirma-simple/target/Autofirma.jar’. Cópialo y pégalo en otro directorio.
  8. Ejecuta el archivo:
    java -jar Autofirma.jar
    

Tras esto, puedes crear un acceso directo que ejecute ese comando (por ejemplo, un script con el nombre autofirma en /usr/bin/).

Configurar Firefox

Estas instrucciones sirven para Firefox y sus ‘forks’, como LibreWolf.

Voy a incluir el nombre en español e inglés de los menús por si tienes tu sistema en inglés.

  • Conecta el lector de DNI electrónico.
  • En Firefox, ve a ‘Opciones (Settings)’. Usa el buscador incorporado y escribe ‘certificado’ (‘certificate’).
  • Accede a ‘Dispositivos de seguridad’ (‘Security Devices’). Comprueba que el lector no aparece en la lista (en Fedora sí aparece y, por tanto, no necesitas completar los siguientes pasos). Si no aparece, haz click en ‘Cargar’ (‘Load’).
  • Escribe un nombre para el módulo (‘Module Name’) y en la ruta, escribe: /usr/lib/libpkcs11-dnie.so (comprueba previamente que el archivo existe, ya que, por ejemplo, en Fedora está dentro de /usr/lib64). Haz click en ‘OK’.
  • Puede que no seas capaz de añadir el módulo si estás usando la versión en Flatpak del navegador, por lo que recomiendo utilizar un navegador instalado de manera tradicional (con el gestor de paquetes del sistema, no con Flatpak o Snap).

AutoFirma

Puede que para que la integración de Firefox con AutoFirma funcione correctamente tengas que abrir AutoFirma, seleccionar Herramientas -> Restaurar instalación -> Iniciar restauración. Tras esto, puedes comprobar en Firefox (escribe about:config en la barra de direcciones y busca afirma) que, cuando haya un enlace con el protocolo ‘afirma’, Firefox ejecute el programa.

Con estos pasos tu lector DNI-E debería funcionar y podrás acceder a los trámites de la Administración y firmar documentos.

If you have any suggestion, feel free to contact me via social media or email.