jueves, 20 de junio de 2013

DNIe en DMDc. O cómo pasar de ser un geek a un friki (Parte I)

Hace unos meses estaba renovando mi DNI electrónico, y observé que el funcionario insertaba una smartcard en el lector de teclado cuando volvió de su descanso para el desayuno. Dado que uno es encantador (modestia aparte...), me lo engatusé para que me explicara qué es lo que hacía. Me explicó que la aplicación busca un certificado válido para ejecutarse, y si no lo encuentra, pues se cierra sin dar más explicaciones.

Y me puse a cavilar... Si eso está hecho en Windows..... en Linux será posible también, si o si. Pero habrá que currárselo seguro..... Y, ¿para qué me puede servir?... Y en esas estaba, divagando en mis ratos libres, cuando me han cambiado de trabajo. Técnico residente en una empresa que no viene al cuento nombrar. 

El trabajo de mis sueños: de 8:00 a 15:00, vigilando una aplicación de gestión de incidencias, y, si hay mala suerte, levantarte de la mesa e ir a ver in situ a algún usuario, siempre que no pueda conectarme en remoto a su máquina. Podéis imaginar lo que viene a continuación.... Pues si, me acompañó mi querido portátil, en el que estuve cacharreando para ver si lo conseguía.

Y sí... Lo conseguí... A raíz de ahí, inicio sesión con  mi DNI, y al levantarme, simplemente con retiralo, dejo la sesión bloqueada. Toda una gozada, viendo la cara de sorpresa y admiración de los allí presentes..... Si, ya sé que fuera de eso, no sirve para mucho, pero.... ¿y lo que vacilas al personal? Eso no tiene precio..... 

Y convertirse en un friki tampoco.....

Para poder jugar con el DNI-e, tenemos que tener instalado correctamente el software necesario para acceder a él. El primer post que publiqué en este blog, en Mayo del año pasado, trataba de la instalación y uso del DNI-e en nuestros equipos, para hacer uso de los certificados, tanto de firma como de autentificación, que están incluidos en el DNI-e. Después de instalar DMDc, hay que ponerse a la tarea de instalarlo de nuevo.

La verdad es que, con el paso del tiempo, y el avance de Squeeze a Wheezy, ha cambiado un poco la manera de instalarlo. He de decir que es incluso más fácil ahora, y, cuando decidan de una vez actualizar el paquete Opensc para incluir el soporte del DNI-e, será tan fácil como instalar cualquier otro paquete desde synaptic o con apt-get install.

Pero hasta que llegue eso, tenemos que seguir instalandolo a mano. Para ello, vamos a instalar una pequeña paquetería básica: 

apt-get install pcscd pcsc-tools pinentry-gtk2

(Aprovecho la ocasión, para dejar una foto de mi escritorio)

Una vez instalado, conectamos el lector usb, y verificamos con lsusb que lo detecta:

Si introducimos el DNI en ese momento, vemos que accede a su información tecleando pscs_scan:



(Los más avispados, se habrán dado cuenta de que el lector ha cambiado. Ahora estoy utilizando un teclado HP con lector incorporado)

Bien, este sería el momento de instalar el paquete opensc, que accede a los certificados de nuestro DNI-e, pero como os decía, todavía no hay soporte en él para el DNI, así que vamos a utilizar el mismo paquete, pero modificado por el CENATIC, que sí tiene dicho soporte:

Para 64 bits: Aquí

Para 32 bits: Aquí

Lo instalamos con Gdebi; como era de esperar, nos indicará que hay una versión más reciente en los repositorios, pero no haremos caso de ello:



Es necesario fijar este paquete para que no se actualice, ya que dejaría de funcionar nuestro DNI-e. Para ello, vamos a Sinaptic, buscamos el paquete opensc y lo bloqueamos. Una vez seleccionado, vamos a Menú->Paquete->Bloquear versión


Hay que resolver un “problemilla” en esta instalación y es el siguiente. Opensc busca por defecto en /usr/lib/ el archivo libpcsclite.so.1... y no lo encuentra. Resultado: no podemos ver los certificados. No lo encuentra porque ahora (y me refiero a el cambio de Squeeze a Wheezy) la ruta sería:

64 bits -> /usr/lib/x86_64-linux-gnu/libpcsclite.so.l

32 bits -> /usr/lib/i386-linux-gnu/libpcsclite.so.1


Solución: Crear un enlace a /usr/lib, o modificar el archivo /etc/opensc/opensc.conf. Vamos a hacer esto último. Editamos el archivo, y buscamos la línea # provider_library. La descomentamos, e incluímos la ruta que necesitamos (para 32 o 64 bits)


Ahora, en Firefox, vamos a instalar los certificados raíz de la DGP. Son dos, por motivos de compatibilidad:

Certificado 1

Certificado 2

Los descomprimimos, y los importamos en el Firefox, accediendo a las Preferencias. Allí, seleccionamos Avanzado, y la pestaña Cifrado.



Pulsamos en Ver Certificados, seleccionamos la pestaña Autoridades, y pulsamos en Importar.


Seleccionamos los certificados descomprimidos y marcamos las tres opciones que nos salen.


Y vemos que quedan correctamente instalados


Es necesario reiniciar Firefox con el lector conectado, antes de añadir el dispositivo de seguridad. Lo hacemos, y vamos de nuevo a Preferencias, Avanzado, Cifrado. Pulsamos ahora en el boton de Dispositivos de Seguridad. Pulsamos el botón Cargar.


Introducimos los datos. El nombre, descriptivo, poned lo que queráis, y la ruta, /usb/lib/opensc-pkcs11.so.



Aceptamos todo y cerramos Firefox. Arrancamos Firefox con el lector conectado. Accedemos a la página

http://www.dnielectronico.es/como_utilizar_el_dnie/verificar.html

(es posible que requiera añadir una excepción de seguridad). Al final de la página, hay un enlace para comprobar los certificados del DNI. Introducimos el DNI en el lector y pulsamos en el enlace. Veremos que en ese momento, nos solicita ya el PIN del DNI, así que la cosa va muy bien.







Y por último:



Bueno, pues todo esto es necesario para poder acceder a los certificados del DNIe. Para todos aquellos que no dispongan de él, bien por pereza (aka Frannoe) o bien por vivir en otro país distinto a España, la segunda parte de este post también les puede servir, ya que el software necesario para realizar la "frikada" de arrancar sesión con el DNI, sirve también para cualquier otra tarjeta criptográfica.

Alguien me comentó en otra ocasión que eso del lector de smartcard era para ricachones.... (permitidme que siga la regla de decir el pecado pero no el pecador).

Una pequeña búsqueda en Google, y nos salen modelos marca "ACME" por menos de 10 euros.....

¿Ves, Frannoe, como no es para ricachones?...... Ups, se me escapó....


No hay comentarios:

Publicar un comentario