instalando el dnie en iceweasel… desde consola

Estos días me estoy pegando con el DNIe, el DNI electrónico, para instalarlo de forma desatendida. La documentación oficial, según mi opinión, es bastante mejorable y, sobre todo, está pensada para instalar el módulos y el certificado para un único usuario. Pero, ¿qué pasa cuando tienes que habilitar el DNIe en, digamos, mil ordenadores basados en Debian GNU/Linux?

El lector de tarjetas

Lo primero es instalar los paquetes necesarios para leer información del lector:

[email protected]:~$ sudo aptitude install pcscd pcsc-tools

Después, toca crear el fichero /etc/reader.conf.d/dnie con estas líneas:

# lector dnie
FRIENDLYNAME    DNIe
DEVICENAME  /dev/ttyS0
LIBPATH     /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Linux/libccid.so

y reiniciar el servicio:

[email protected]:~$ sudo /etc/init.d/pcscd restart

y probar que lee correctamente el DNIe:

$ pcsc_scan 
PC/SC device scanner
V 1.4.16 (c) 2001-2009, Ludovic Rousseau <ludovic [email protected]>
Compiled with PC/SC lite version: 1.5.5
Scanning present readers...
0: SCM SCR 3310 [CCID Interface] 00 00
(...)
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)

Los paquetes del DNIe

A continuación y para gestionar todo lo relativo al DNIe, hay que descargar el fichero opensc-dnie, desde la web oficial del DNI electrónico. Se descomprime el fichero, del que sólo usaremos el fichero opensc-dnie. Pero antes hay que cumplir con las dependencias del fichero:

sudo aptitude install pinentry-gtk2 pinentry-gtk

Y, a continuación, instalamos el paquete:

sudo dpkg -i opensc-dnie_1.4.6-2_i386.deb

Accediendo desde consola

También hará falta tener instalado el programa modutil (no confundir con modutils), que viene en el paquete libnss3-tools y que nos permitirá gestionar módulos de seguridad y certificados del navegador.

[email protected]:~$ sudo aptitude install libnss3-tools

Comprobamos si ya está instalado el módulo del DNIe en el navegador. En caso de que sea así y tratemos de instalarlo de nuevo, fallará.

[email protected]:~$ sudo modutil -list -dbdir ~/.mozilla/firefox/semilla.default/
Listing of PKCS #11 Modules
-----------------------------------------------------------
  1. NSS Internal PKCS #11 Module
     slots: 2 slots attached
         status: loaded
     slot: NSS Internal Cryptographic Services
     token: NSS Generic Crypto Services
     slot: NSS User Private Key and Certificate Services
     token: NSS Certificate DB
-----------------------------------------------------------

Se instala mediante el comando modutil y pasándole como argumento la librería opensc-pkcs11 y el directorio de firefox del usuario.

[email protected]:~$ sudo modutil -add DNIe -force 
    -libfile /usr/lib/opensc/opensc-pkcs11.so 
    -dbdir ~/.mozilla/firefox/semilla.default
Module "DNIe" added to database.

Si comprobamos, de nuevo, los módulos listados ya aparece el DNIe.

$ sudo modutil -list -dbdir ~/.mozilla/firefox/semilla.default/
Listing of PKCS #11 Modules
-----------------------------------------------------------
  1. NSS Internal PKCS #11 Module
     slots: 2 slots attached
    status: loaded
     slot: NSS Internal Cryptographic Services
    token: NSS Generic Crypto Services
     slot: NSS User Private Key and Certificate Services
    token: NSS Certificate DB
  2. DNIe
    library name: /usr/lib/opensc/opensc-pkcs11.so
     slots: 16 slots attached
    status: loaded
     slot: Virtual slot
    token:  
     (...)
     slot: Virtual slot
    token: 
-----------------------------------------------------------

Ya sólo queda instalar el certificado de la Fábrica Nacional de Moneda y Timbre (FNMT). Si se ha ejecutado el script que viene con el paquete opensc-dnie, dicho certificado ya está instalado pero, al contrario que con el módulo, el certificado se puede instalar varias veces sin problema. Esta vez el comando es certutil:

$ certutil -A -n "Certificado FNMT" -t "C,C,C" -d ~/.mozilla/firefox/semilla.default/ -i /usr/share/opensc-dnie/ac_raiz_dnie.crt

Al reiniciar el navegador debería aparecer en el apartado de Certificados y, una vez hecho todo esto, ya se podría utilizar para, por ejemplo, solicitar la vida laboral. ¡Ah! Para llevarlo al resto de ordenadores, bastan dos o tres bucles for y un buen find.

3 ideas sobre “instalando el dnie en iceweasel… desde consola”

Los comentarios están cerrados.