User:Timofonic/DNIe (Español)

From ArchWiki

En esta página explicaremos los pasos a seguir para configurar el DNI electrónico (DNIe) en Archlinux. Debido a que este sistema de identificación es usado por residentes o personas que han residido lo suficiente en España como para poseer una nacionalidad, se procede a escribir inicialmente este artículo en castellano.

Instalación

Paquetes

pcsclite

Primeramente hay que instalar pcsclite disponible en [community], una capa de abstracción para acceder a un lector de tarjetas inteligentes usando el API SCard.

pcsc-tools

Es recomendable instalar el paquete pcsc-tools (disponible en [community]), ofrece herramientas para usar con lectores de tarjetas inteligentes y PC/SC. Podemos comprobar el funcionamiento con la herramienta pcsc_scan, incluida en el paquete.

Driver

Debes de instalar la versión parcheada para soporte de DNIe de OpenSC, ya que no se incluye aún en la versión oficial. Está disponible a través de AUR con el paquete opensc-opendnie-git. Para evitar problemas a la hora de introducir el PIN, es necesario descomentar 2 líneas en el fichero de configuración /etc/opensc.conf:

 # enable_pinpad = false

y dejarlas así:

enable_pinpad = false

Uso

Iniciar pcscd

Para iniciar pcscd, tienes que arrancar el siguiente comando:

# systemctl start pcscd.service

Si quieres que se inicie cada vez que arranques el sistema (recomendable por comodidad), teclea lo siguiente

# systemctl enable pcscd.service

Comprobación con pcsc_scan

Puedes comprobar la instalación ejecutando pcsc_scan. Si todo va bien, deberías de tener un mensaje como este:

PC/SC device scanner
V 1.4.21 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.8.6
Using reader plug'n play mechanism
Scanning present readers...
0: Gemalto IDBridge CT30 00 00

Thu Aug 22 15:38:43 2013
Reader 0: Gemalto IDBridge CT30 00 00
  Card state: Card inserted, 
  ATR: 3B 7F 38 00 00 00 6A 44 4E 49 65 10 02 4C 34 01 13 03 90 00

ATR: 3B 7F 38 00 00 00 6A 44 4E 49 65 10 02 4C 34 01 13 03 90 00
+ TS = 3B --> Direct Convention
+ T0 = 7F, Y(1): 0111, K: 15 (historical bytes)
  TA(1) = 38 --> Fi=744, Di=12, 62 cycles/ETU
    64516 bits/s at 4 MHz, fMax for Fi = 8 MHz => 129032 bits/s
  TB(1) = 00 --> VPP is not electrically connected
  TC(1) = 00 --> Extra guard time: 0
+ Historical bytes: 00 6A 44 4E 49 65 10 02 4C 34 01 13 03 90 00
  Category indicator byte: 00 (compact TLV data object)
    Tag: 6, len: A (pre-issuing data)
      Data: 44 4E 49 65 10 02 4C 34 01 13
    Mandatory status indicator (3 last bytes)
      LCS (life card cycle): 03 (Initialisation state)
      SW: 9000 (Normal processing.)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B 7F 38 00 00 00 6A 44 4E 49 65 10 02 4C 34 01 13 03 90 00
3B 7F 38 00 00 00 6A 44 4E 49 65 [1,2]0 02 4C 34 01 13 03 90 00
        DNI electronico (Spanish electronic ID card)
        http://www.dnielectronico.es

Navegadores

De querer utilizar el navegador, hay muchas aplicaciones que aún funcionan con Java Applets. Para usarlas, es necesario tener icedtea-web instalado.

Certificados

A continuación, una lista de los certificados que tendremos que instalar en cada navegador:

Disponibles en aur a través de ca-certificates-dnie.

Firefox

Debemos de hacer lo siguiente:

  • Entramos en Editar -> Preferencias -> Avanzado -> Cifrado -> Dispositivos de seguridad.
  • Pulsamos el botón "Cargar" y ponemos los siguientes datos:
   Nombre del módulo: El que preferamos, como DNIe o DNI electrónico.
   Archivo del módulo: /usr/lib/opensc-pkcs11.so
  • Vamos a: Editar -> Preferencias -> Avanzado -> Cifrado -> Dispositivos de seguridad.
  • Agregamos los certificados en Editar → Preferencias → Avanzado. Luego pinchamos el botón Certicados y después en la pestaña "Autoridades".
  • Habilitamos TLS v1.1: escribimos about:config en la barra de direcciones del navegador y buscamos el campo security.tls.version.max. Cambiamos el valor de parámetro de 3 a 2.
  • Pinchamos el botón "Iniciar sesión". Si el PIN del DNI es correcto, nos marcará el campo "Sesión" como "Sesión iniciada".

Solucionar Problemas

Si el navegador no nos solicita el PIN y parece no tener acceso al dispositivo, es probable que sea por que hemos conectado el lector de DNIe después de iniciar Firefox. Para resolverlo, simplemente reiniciar Firefox, y asegurarse de conectar primero el lector de DNIe.

Google Chrome, Chromium y derivados

Primero, debemos de instalar el paquete nss en caso de que no lo tengamos instalado. Acto seguido, ejecutar la siguiente secuencia:

# modutil -dbdir sql:$HOME/.pki/nssdb -add "DNI-e" -libfile /usr/lib/opensc-pkcs11.so


Y comprobamos que se ha realizado correctamente:

# modutil -list -dbdir sql:$HOME/.pki/nssdb


Después, abrimos el navegador y vamos a Preferencias -> Avanzada -> Gestionar Certificados. Vamos a la pestaña "Entidades emisoras" y añadimos certificados que hemos descargado antes pulsando en el botón "Importar...".


Comprobación

Una vez terminada la configuración con el/los navegadores que se usen en el sistema, se recomienda proceder a comprobar el correcto funcionamiento a través de esta página.


Fuentes

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10]