(Actualizado: 26 de octubre de 2012)
Esta es una nueva revisión de la guía para instalar el DNIe en Ubuntu 12.04 tras la migración del proyecto opendnie a una nueva plataforma en el Cenatic.

Como viene siendo costumbre, en bitplanet.es vas a encontrar los pasos necesarios para instalar el DNI electrónico en la versión de Ubuntu 12.04 Precise Pangolin de forma sencilla y paso a paso.

Ubuntu 12.04 es una versión LTS (Long Term Support) lo que significa que dispondrá de 5 años de soporte y actualizaciones contínuas por lo que conviene tener bien atada esta nueva versión con todo aquello que vayamos a necesitar para nuestro trabajo diario como es el caso del DNIe que cada vez es más incorporado en los servicios de internet.

Este manual te servirá para instalar el DNIe tanto en versiones de 32 bits como de 64 bits. Los pasos serán exactamente los mismos y han sido testeados en ambas versiones (32 bits y 64 bits) partiendo de una distribución de Ubuntu 12.04 recién instalada y actualizada.


 
En esta ocasión,  el procedimiento cambiará sustancialmente y no se precisará descargar los paquetes proporcionados en la web oficial del DNIe como venía siendo habitual en versiones anteriores de Ubuntu sino que se usará las librerías proporcionadas por el Cenatic desde donde descargaremos el código fuente y lo compilaremos a medida para nuestra distribución Linux. Se trata de las mismas librerías opensc proporcionada por Ubuntu con la diferencia de que éstas vienen modificadas para usarlas con el DNIe.

Empecemos entonces...

Lo primero, será eliminar cualquier instalación previa de opensc. Puedes usar el Centro de Software de Ubuntu, Synapic o también desde la terminal.

Para abrir la terminal pulsa ctrl + alt + t y escribe:

sudo apt-get autoremove opensc


Lo siguiente será conectar el lector de DNIe al USB y comprobar si Ubuntu lo reconoce. Nuevamente, desde la terminal:

lsusb


Este comando listará los periféricos conectados a los puertos USB de nuestro ordenador y obtendremos una salida similar a ésta donde se identifica claramente Smart Card Reader. Esta línea puede cambiar dependiendo del lector que tengas:

mini_lsusb
(click para ampliar)


Si no consigues ver el lector en la lista de dispositivos deberías conectar el lector a otro puerto USB. En el peor de los casos, tu lector puede que no se encuentre en la lista de lectores compatibles con Ubuntu 12.04 y quizás necesites buscar por internet para conseguir que Linux lo identifique.

Una vez comprobado que Ubuntu 12.04 reconoce el lector será necesario que instales dos paquetes necesarios para que el sistema operativo pueda manejar el dispositivo lector. Escribe en la terminal:

sudo apt-get install pcscd pcsc-tools


Cuando finalice la instalación, será el momento de probar el lector. Asegúrate de que está conectado al puerto USB, que el DNIe no está insertado y escribe:

pcsc_scan


Aquí puede suceder dos cosas: que tu lector sea manejado por Ubuntu sin problemas como bien puede observarse en la imagen:

mini_pcsc_scan-2
(click para ampliar)


O bien que pcsc_scan se quede esperando al lector a pesar de que está conectado al USB (Waiting for the first reader):

mini_pcsc_scan-1
(click para ampliar)


En mi caso, pcsc_scan no identificaba mi lector ACR38: un minilector de bit4id que Tractis estuvo regalando subvencionado por el Ministerio de Industria, Turismo y Comercio. Por lo tanto, fue necesario instalar el driver correspondiente:

sudo apt-get install libacr38u


Si tu lector no es reconocido por pcsc_scan y no se trata de un modelo basado en el ACR38, necesitarás buscar por internet o en los repositorios de Ubuntu un driver adecuado para el chip de tu lector.

Una vez instalado el driver adecuado, será necesario cerrar el proceso pcscd para que vuelva a iniciarse usando el nuevo driver. Busca el PID (Identificador del Proceso):

ps aux | grep pcscd


Y obtendrás un listado similar a este:

mini_ps-aux
(click para ampliar)


El proceso de pcscd es identificable por "pcscd --auto-exit" y, en este caso, su PID es el 3946 así que procedemos a cerrar ese (o esos) procesos:

sudo kill 3946


Y ahora vuelve a ejecutar pcsc_scan. Si obtienes el mismo mensaje de Waiting for the first reader. Reinicia tu PC.

Finalmente, al introducir el DNIe en el lector obtendrás la lectura:

mini_pcsc_scan-3
(click para ampliar)


Perfecto. Tu lector ya se comunica con Ubuntu y llegó el momento de instalar los certificados necesarios.

Accede a http://www.dnielectronico.es/seccion_integradores/certs.html y allí verás los dos certificados que necesitas instalar:
- Autoridad de certificación AC Raíz
- Autoridad de validación del DNIe AV DNIE FNMT

mini_certs-html
(click para ampliar)


Accede a AC Raíz y descarga el archivo pkcs1-sha256WithRSAEncryption (sha256):

mini_aut-cert-html
(click para ampliar)


Y luego accede a AV DNIE FNMT y descarga el archivo pkcs1-sha256WithRSAEncryption (sha256):

mini_aut-cert-av-html
(click para ampliar)


Una vez descargados ambos certificados, descomprímelos. Para ello, accede al directorio de descargas, selecciona los dos archivos, saca el menú contextual y pulsa en "Extraer aquí":

mini_extraer-zip
(click para ampliar)


Abre Firefox y dirígete a menú Editar > Preferencias > Avanzado > Cifrado > Ver certificados:

mini_ver-certs
(click para ampliar)


En la nueva ventana selecciona la pestaña "Autoridades", haz click en "Importar" y localiza el certificado que antes descomprimiste llamado ACRAIZ-SHA2.crt. Una nueva ventana aparecerá para que marques las tres casillas indicando que confías bajo los tres supuestos y acepta las nuevas opciones:

mini_confiar-cert
(click para ampliar)


Una vez importado, el certificado deberá quedar así:

mini_aut-cert
(click para ampliar)


Ahora, selecciona la pestaña "Servidores" y haz click en "Importar". Selecciona el otro certificado que también descomprimiste llamado AVDNIEFNMTSHA2.cer y el certificado se importará quedando así:
 

mini_cert-serv
(click para ampliar)


Con los dos certificados instalados, queda instalar unos cuantos paquetes necesarios para poder descargar, compilar e instalar el opensc modificado para que funcione con el DNIe. Si nunca has compilado código fuente no te preocupes porque vas a hacerlo paso a paso y muy fácilmente.

Escribe en la terminal:

sudo apt-get install autoconf subversion libpcsclite-dev libreadline6 libreadline-dev openssl libssl-dev libtool libltdl-dev libccid pinentry-gtk2

 

mini_apt-get
(click para ampliar)


Cuando se haya instalado todos los paquetes, crea un nuevo directorio de trabajo:

mkdir opendnie


Y accede a él:

cd opendnie


Ahora, descarga todos los archivos de código fuente necesarios. La descarga se realizará desde un servidor donde Cenatic aloja parte de sus códigos fuente. Con el siguiente comando siempre se descargará los últimos archivos actualizados a la última versión:

svn checkout --username anonsvn https://forja.cenatic.es/svn/opendnie/opensc-opendnie/trunk


Al introducir el comando, se te preguntará que aceptes un certificado para la descarga ya que estás usando una conexión segura SSL (https). Todo cuanto debes hacer es pulsar la letra "t" (temporal):

mini_svn-validar
(click para ampliar)



El sistema te solicitará una contraseña para el usuario anonsvn. Introduce como contraseña: anonsvn 

La descarga comenzará y un nuevo directorio se habrá creado dentro de opendnie llamado trunk. Accede al nuevo directorio:

cd trunk


Los usuarios de Ubuntu, como es nuestro caso, debemos modificar un archivo para que la compilación sea satisfactoria. Es preciso añadir la ruta de una librería y dependiendo de la arquitectura de nuestro Ubuntu (32 bits / 64 bts) la librería estará en uno u otro lugar así que para encontrarla escribe en la terminal:

sudo find / -name libltdl.la


Y esto nos mostrará su ubicación:

mini_find-la
(click para ampliar)


En mi caso, con Ubuntu 12.04 64 bits, la ruta, como bien se puede apreciar en la imagen superior, es /usr/lib/x86_64-linux-gnu/libltdl.la así que abre el archivo Makefile.am que tienes que modificar con el editor de textos. Para ello escribe:

sudo gedit src/tools/Makefile.am
sudo gedit src/tools/Makefile.am


Y encuentra una línea que dice LIBS = $(top_builddir)/src/common/libcompat.la \. En la última línea añade una barra invertida \ y debajo de este bloque deja un espacio de tabulación y a continuación añade la ruta de la librería que antes hallaste con ayuda de find:

/usr/lib/x86_64-linux-gnu/libltdl.la


El resultado debe quedar como aparece en la imagen:

mini_gedit
(click para ampliar)


Guarda el archivo y cierra el editor de textos.

Ahora, ya todo está listo para preparar el entorno de compilación y generar los archivos auxiliares. Escribe en la terminal:

./bootstrap


Cuando acabe el proceso, escribe:

./configure --prefix=/usr --sysconfdir=/etc/opensc


Haz un make. Escribe en la terminal:

make

Y este último proceso podrá tardar algunos minutos:

sudo make install


Es muy importante que en estos tres últimos pasos (bootstrap, configure, make y sudo make install) no genere ningún error. El proceso se detiene y en las últimas líneas aparecerá la palabra error. Si fuera tu caso, asegúrate de que instalaste todos los paquetes necesarios (autoconf, subversion, etc...) y que la edición del archivo Makefile.am se realizó correctamente añadiendo la ruta apropiada según tu caso. Por último, repite los tres últimos pasos nuevamente (bootstrap, configure y make install).

Cuando finalice la compilación e instalación. Abre firefox y dirígete a menú Editar > Preferencias > Avanzado > Cifrado > Dispositivos de seguridad:

mini_disp-seg
(click para ampliar)


En la nueva ventana, haz click en "Cargar" e introduce el nombre para el nuevo módulo: PKCS11 e introduce la ruta del módulo que acabas de compilar e instalar en /usr/lib/opensc-pkcs11.so:

mini_cargar-pkcs
(click para ampliar)


El nuevo módulo debe cargarse sin problemas.

Si obtienes un mensaje en Firefox diciendo "No es posible añadir el módulo" tendrás que ir a tu directorio de usuario donde se almacenan las preferencias y datos auxiliares de Firefox en: /home/tuusuario/.mozilla/firefox/xxxxxxxx.default y allí encontrarás un archivo llamado secmod.db. Bórralo sin miedo. Cierra Firefox, vuélvelo a abrir e intenta añadir de nuevo el módulo /usr/lib/opensc-pkcs11.so. Si aún así no puedes cargarlo, lo más probable es que el módulo no se haya compilado correctamente y/o la opción prefix de configure o la modificación de Makefile.am no estuvieron bien realizadas.

Si opensc-pkcs11.so se cargó correctamente es momento para cerrar y abrir de nuevo Firefox ya que el navegador sólo toma estas modificaciones durante el inicio. Luego, sólo quedará verificar que el lector, el DNIe y Firefox funcionan correctamente.

Asegúrate de tener conectado el lector al puerto USB, introduce el DNIe en el lector, abre Firefox y accede a http://www.dnielectronico.es/como_utilizar_el_dnie/verificar.html para realizar un test de comprobación:

mini_verif-1
(click para ampliar)


Si es la primera vez que accedes a esta página de verificación, es posible que recibas un mensaje indicando que la conexión no está verificada. Esto es totalmente normal y tendrás que hacer click en Entiendo los riesgos y añadir una excepción:

mini_conex-no-verif
(click para ampliar)


Después de unos segundos, y mientras tu lector de DNIe parpadea, aparecerá un cuadro de díálogo donde se solicita tu clave personal que es aquella que acompañaba a tu DNIe y que te entregaron en un sobre cerrado o bien la que estableciste a través de un Punto de Actualización del DNI electrónico (PAD):

mini_pin
(click para ampliar)


Nota: si has perdido tu PIN, lo has olvidado, se ha bloqueado tras tres intentos erróneos o bien los certificados caducaron (30 meses) tendrás que acercarte a un Punto de Actualización del DNI electrónico (PAD), generalmente, una comisaría de la Policía Nacional donde en un terminal tendrás que intruducir tu DNIe y acredtar tu identidad con tu huella dactilar. Así podrás establecer una nueva contraseña, desbloquear el DNIe o renovar los certificados en el instante. Puedes hacer este procedimiento tú solo sin intervención alguna de ningún funcionario.

Si introdujiste correctamente tu PIN se te mostrará un nuevo cuadro de diálogo donde tendrás que elegir el certificado adecuado de autenticación:

mini_sel-cert
(click para ampliar)


Cuando uses tu DNIe dispondrás de dos certificados: el certificado de autenticación y el certificado de firma electrónica. Generalmente, el más utilizado es el certificado de autenticación usado para identificarte en una web (bancos, organismos, administraciones, etc...) y el certificado de firma sólo se usará en el supuesto caso de que necesites realizar una firma electrónica que equivale a efectos prácticos y legales como firmar de tu puño y letra.

El resultado de verificación será el siguiente:

mini_datos-dnie
(click para ampliar)


Si tienes algún problema, no dudes en dejar un comentario al final de esta página.

Este artículo ha sido publicado bajo los siguientes términos de licencia:
Licencia Creative Commons
Instalar lector DNIe en Ubuntu 12.04 por Minenage se encuentra bajo una
Licencia
Creative Commons Reconocimiento-CompartirIgual 3.0 Unported.

Esto significa que bitplanet.es te cede los derechos para que puedas compartir este contenido libremente siempre y cuando hagas referencia a la URL de esta página web.

Sígueme

Suscríbete

Recibe todas las novedades en tu correo

copyright © bitplanet.es 2015

Todos los derechos reservados salvo contenidos que apliquen su propia licencia

aviso legal | política de privacidad | política sobre cookies