Hasta ahora no le daba mucha importancia a que el DNI fuera electrónico ni me interesé por las cosas que se podían hacer con él. sin embargo me he dado cuenta que es muy útil para acceder a servicios públicos porque evitas tener un usuario y contraseña por cada plataforma (uno para la seguridad social, otro para el SEPE, etc). Ahora, en vez introducir un usuario y contraseña conectas el DNI electrónico y accedes directamente agilizando así el proceso.

Para que esto sea posible hay que instalar un software que proporcionan en la página del DNI electrónico pero para linux sólo esta disponible para unas pocas distribuciones entre las que no se encuentra Arch Linux, por eso escribo esta pequeña guía de cómo instalar el DNI electrónico en esta distribución.

Tenemos que seguir tres sencillos pasos:

  1. Instalar los paquetes necesarios
  2. Configurar el navegador firefox
  3. Validar el DNIe (opcional)

Instalar los paquetes necesarios

Primero debemos instalar estos dos paquetes para dar soporte a las SmartCards:

  1. pcsclite -> Librerías para trabajar con SmartCards.
  2. ccid -> Drivers genéricos para lectores USB de SmartCards.
  3. pcsc-tools (opcional) -> Herramientas para usar con los lectores de SmartCards.
[user@host]$ sudo pacman -S pcsclite ccid

y alguno de estos tres paquetes del repositorio AUR con yaourt o descargando el paquete y usando makepkg -sic:

  • opensc-opendnie
  • opensc-dnie-svn
  • opensc-opendnie-git

Después de instalar los paquetes necesarios iniciamos el servicio pcscd.

[user@host]$ sudo systemctl start pcscd

Y si también queremos que el servicio se inicie al encender el equipo usamos:

[user@host]$ sudo systemctl enable pcscd

Configurar el navegador

Ahora tenemos que agregar el dispositivo de seguridad al navegador firefox. Para hacerlo vamos a Preferencias > Avanzado abrimos la pestaña de Certificados y pinchamos sobre el botón Dispositivos de Seguridad.

certificados_firefox

En la ventana que se abre le damos al botón de Cargar para agregar un nuevo dispositivo y lo configuramos. Como nombre podemos poner algo que nos sirva de referencia como DNI-e o algo similar y en el archivo del módulo escribimos la ruta /usr/lib/opensc-pkcs11.so
nuevo-dispositivo

Nota: Si tienes un sistema de 64 bits es posible que el módulo /usr/lib/opencs-pkcs11.so no te funcione, en ese caso utiliza el módulo de 64 bits que se encuentra en /usr/lib64/opencs-pkcs11.so en vez del mencionado.

Validar el DNI-e

Ahora solo nos queda probar que todo funciona correctamente. Podemos hacerlo en una de las páginas que hay para validar certificados como valide o FNMT. Yo voy a mostrar el ejemplo con valide.

Conectamos el lector de SmartCards y abrimos firefox.

Una primera comprobación que podemos hacer antes de intentar validar el certificado del DNIe es observar si el dispositivo de seguridad que añadimos anteriormente esta detectando el lector de smartcards.

Abrimos los dispositivos de seguridad en Preferencias > Avanzado > pestaña de Certificados y pinchamos sobre Dispositivos de Seguridad. Si todo esta bien veremos el dispositivo que cargamos y la información que el módulo esta obteniendo del lector de smartcards.

comparacion_dispositivo

Si no te funcionara revisa que tienes el lector bien conectado, que tienes instalados los drivers correctos para tu lector de smartcards, que el servicio pcscd esta activo y que has seleccionado el módulo correcto en el dispositivo de seguridad de firefox.

Ahora si podemos ir a la página de valide y una vez en ella pinchar sobre validar certificado.

valide_certificado

Ahora pinchamos sobre Seleccionar certificado. Al hacerlo se ejecutará un applet de java para leer el DNI-e y seleccionar el certificado.

valide_selecciona-cert

Tal vez te salgan mensajes advirtiendote de que los certificados para el https no se puedieron verificar, pulsa sobre Run.

applet-advertencia-01

applet-advertencia-02

applet-advertencia-03

Ahora nos preguntará el PIN del DNI-e. Si no lo recuerdas tendrás que ir a una de las máquinas de las oficinas de expedición de DNIe para sustituir el PIN por uno nuevo.

input-pin

En el diálogo de seguridad marcamos el certificado de autenticación y pinchamos en Aceptar.

seleccionar-certificado

Veremos como se muestra un mensaje indicando que se ha selecciona un certificado (el del DNIe). Ahora introducimos el código del captcha y pinchamos sobre Validar.

captcha-valide

Finalmente veremos si nuestro certificado es válido o si no lo es por estar caducado o cualquier otro motivo. Opcionalmente podemos pinchar sobre Ver información ampliada para consultar la información del certificado con más detalle.

resultado

informacion-detallada