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:

diego@malum:~$ 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:

diego@malum:~$ 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
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.

diego@malum:~$ 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á.

diego@malum:~$ 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.

diego@malum:~$ 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.

Paquetes preliminares de IceWeasel 4.0 beta 1 en Debian. Probando -;)

Ayer estaba pegándome con la beta de Firefox y hoy me encuentro con esta gran noticia en Planet Debian. Ya tenemos disponible para nuestras Debian los paquetes preliminares de la flamante (en beta, reitero) versión 4.0 Beta 1 de Iceweasel.

Están realizando un gran trabajo y se puede instalar desde este repositorio ( x 86-64 – amd64)

deb http://mozilla.debian.net/packages/ ./

Para poder probar esta nueva versión y seguir con la actual estable, el autor nos deja este truco;

En lugar de instalarlo desde ese repositorio hacéis lo siguiente;

  • Instalar xulrunner-1.9.2,
  • Descargar el paquete de Iceweasel (ojo, no instalar),
  • Ejecutar el siguiente comando: dpkg-deb -x iceweasel_4.0b1-0_*.deb /tu ruta/directorio,
  • Crear el necesario enlace simbólico: ln -s /usr/lib/xulrunner-2.0 /tu ruta/directorio/usr/lib.

Luego ya podéis ejecutarlo con un;  /tu ruta/directorio/usr/bin/iceweasel.

Vuelvo a decir que son paquetes preliminares y que el autor dice que el funcionamiento es similar al de la versión de Firefox, pero tened en cuenta que es una versión beta “total” con lo que ello conlleva, saludos y a reportar -;)