Usa el DNI electrónico con Docker

Usa el DNI electrónico con Docker

Imagen de la ballena de docker

Si usas Linux y necesitas utilizar el DNI electrónico, seguro que alguna vez has sufrido tratando de hacerlo funcionar. Los drivers, las configuraciones, los certificados… Un auténtico dolor de cabeza. Pero no te preocupes, porque hoy te voy a enseñar una solución mucho más sencilla: usar Docker para hacer funcionar el DNIe en tu sistema sin complicaciones. Para ello me voy a basar en la documentación que nos preparado un gran Linuxero Fidel-Perez. Recuerda seguirle en GitHub si te está pareciendo interesante.

lector de tarjetas electrónicas

Si estás empezando en el mundillo de Linux y quieres tener más claros los conceptos básicos, te recomiendo mi curso gratuito que puedes encontrar en esta misma página.

¿Qué necesitamos?

Para seguir esta guía, solo necesitas tener instalado Docker en tu distribución de Linux. Si aún no lo tienes, puedes instalarlo siguiendo la documentación oficial de Docker para tu sistema o este enlace. Además, vamos a utilizar un proyecto llamado dnie-docker, que nos facilita enormemente la tarea.

Te recomiendo que nunca te fies de lo que hace un Dockerfile, antes revisa el fichero y comprueba que no ves nada raro como enviar tus datos a China o vender tu alma a Elon Musk.

Instalación y configuración del DNIe y Docker

  1. Clonar el repositorio Lo primero que tienes que hacer es clonar el repositorio del proyecto en tu equipo. Abre una terminal y ejecuta:
    git clone https://github.com/fidel-perez/dnie-docker.git
    cd dnie-docker
  2. Construir la imagen de Docker Ahora toca construir la imagen de Docker que contiene todo lo necesario para usar el DNIe. Ejecuta:
    docker build -t dnie-firefox
  3. Este comando descargará y configurará automáticamente las dependencias dentro del contenedor.

Siguiendo el manual de GitHub

Antes de lanzar la primera ejecución, debes tener instalados unos pocos requisitos previos. No te preocupes que en la documentación te indica que sólo debes ejecutar este comando antes de iniciar la imagen docker:

sudo apt-get install --reinstall pcscd libccid pcsc-tools # Si no en linux se lía con el detector de tarjetas.
xhost +local:docker

Ahora ya podemos pasar a lanzar el comando de docker:

docker run -it --rm \
  --env DISPLAY=$DISPLAY \
  --volume /tmp/.X11-unix:/tmp/.X11-unix \
  --volume /run/pcscd/pcscd.comm:/run/pcscd/pcscd.comm \
  --device /dev/bus/usb \
  --group-add $(getent group plugdev | cut -d: -f3) \
  dnie-firefox

Una vez dentro del contenedor:

  • Arranca firefox (comando firefox en la terminal, te abrirá una ventana de firefox)
  • Navega a OPTIONS -> SECURITY-> DEVICE MANAGER -> Boton "LOAD" Valor: ‘/usr/lib/libpkcs11-dnie.so’

Solución de problemas con DNI y Docker

  • Si tienes problemas para que el lector de tarjetas sea detectado, asegúrate de que el dispositivo está correctamente conectado y visible con: lsusb
  • Recuerda probar con tarjeta DNI con el chip boca arriba, en el caso de mi tarjetero (Marca zoweetec) es asi.
  • Para monitorizar si la tarjeta esta activa pcsc_scan, pero no deberías necesitarlo.
  • Para comprobar que el contenedor está corriendo correctamente, usa: docker ps
  • Si necesitas detener el contenedor, simplemente usa: docker stop dnie

Usa Docker para utilizar el Dni electrónico

Gracias a Docker, configurar y utilizar el DNI electrónico en Linux es mucho más fácil y sin dolores de cabeza. Olvídate de instalar paquetes incompatibles o pelear con configuraciones difíciles. Ahora, con unos pocos comandos, puedes tener tu DNIe listo para usar en cualquier distribución de Linux.

¡Espero que esta guía te haya sido útil! Si tienes dudas o problemas, puedes dejar un comentario o revisar la documentación oficial del proyecto en GitHub. Este artículo ha sido creado con el Visto Bueno del autor del proyecto, y por todo trabajo debe darse crédito al mismo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *