Instalando el DNI-e en Ubuntu 12.04

En nuestro foro de ayuda uno de los usuarios, nos planteaba sus dudas sobre como instalar el DNI-e en Ubuntu 12.04. Como, despues de probar varios tutoriales no consiguió hacerlo funcionar, decidí probarlo por mi mismo para averiguar cual era el problema.

Después de un rato, no sin algún quebradero de cabeza, conseguí que funcionara todo correctamente.

El caso es que los programas del área de descargas del DNI no soportan esta versión de Ubuntu, así que toca compilar a mano. El método puede resultar un poco lioso para quien no tenga mucha experiencia, pero siguiendo el tutorial paso por paso, no tendréis ningún problema.

Recomiendo que antes de poneros manos a la obra lo leáis atentamente.

Como digo, la versión utilizada de Ubuntu es la 12.04 y el navegador que configuraremos será Mozilla Firefox. Para Ubuntu 12.10, aún están  preparando el código fuente, así que no es posible instalarlo.

Comencemos, en el primer paso es fundamental saber si tu sistema reconoce el lector de tarjetas, esto lo podremos ver con la orden:

lsusb

Si no es reconocido, es necesario que te dirijas a la pagina del fabricante y que descargues los controladores (drivers) para tu lector. Acto seguido vamos a instalar la utilidad opensc, que a su vez nos instalará la librería libccid y el demonio pcscd.

sudo apt-get install opensc

Una vez hecho, reiniciamos nuestro ordenador para que reconozca la instalación anterior y cuando inicie de nuevo, volvemos a abrir un terminal y comprobamos que todo está correcto con el comando:

pcsc_scan

La primera imagen es la salida del comando anterior sin introducir el DNI, la segunda con el mismo dentro.

Como ya sabemos que todo está correcto, vamos a continuar con la instalación de los certificados necesarios. Para ello podemos dirigirnos a esta pagina y en la sección Autoridad de certificación “AC Raíz”, bajarnos el Certificado pkcs1-sha256WithRSAEncryption y en Autoridad de validación del DNIe “AV DNIE FNMT”, el archivo Certificado pkcs1-sha256WithRSAEncryption. También vamos a aprovechar para descargar todo el software necesario, librerías y código fuente, para empezar a compilar.

Nota: Yo lo voy a hacer todo desde la terminal porque doy menos vueltas, pero si os resulta más cómodo, se puede hacer exactamente igual de modo gráfico. Pero tened en cuenta que desde la terminal lo descargaré directamente en la carpeta personal y desde el navegador seguramente lo haréis en la carpeta Descargas, así que si no tenéis mucha idea, mejor seguid los pasos tal cual los muestro para evitar problemas.

Comencemos por descargar y descomprimir todo lo necesario:

wget http://www.dnielectronico.es/ZIP/ACRAIZ-SHA2.zip
wget wget http://www.dnielectronico.es/seccion_integradores/certificados/AVDNIEFNMTSHA2.zip

Descomprimimos:

unzip ACRAIZ-SHA2.zip

unzip AVDNIEFNMTSHA2.zip

Seguimos instalando los paquetes necesarios:

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

El siguiente paso es descargar el código fuente para esta versión de Ubuntu, pero en el momento de escribir estas lineas, la web http://forge.morfeo-project.org/, que es donde esta alojado, estaba caída. Entonces decidí buscarlo directamente en launchpad, que es desde donde lo he descargado.

Sigamos, descargamos y descomprimimos:

wget https://launchpad.net/ubuntu/quantal/+source/opensc/0.12.2-2ubuntu2/+files/opensc_0.12.2.orig.tar.gz

tar -xzvf opensc_0.12.2.orig.tar.gz

Antes de compilar tenemos que modificar un archivo para añadirle la ruta de una librería.

Primero buscamos dicha librería:

sudo find / -name libltdl.la

Y despues de un rato, nos dirá la ruta. En mi caso /usr/lib/i386-linux-gnu/libltdl.la :

Ahora editamos el archivo Makefille.am, para añadirla:

cd opensc-0.12.2

sudo nano src/tools/Makefile.am

Dentro del archivo, buscamos la linea $(top_builddir)/src/libopensc/libopensc.la

Al final de esa linea, añadimos un espacio y una barra invertida \ y en la linea siguiente, la ruta que buscamos anteriormente /usr/lib/i386-linux-gnu/libltdl.la

Nos quedaría de esta manera:

Guardamos y cerramos el editor sin salir de la terminal.

Comencemos a compilar.

Dentro del mismo directorio donde nos encontramos (opensc-0.12.2), tecleamos los siguientes comandos, seguidos de su correspondiente “Enter“:

./bootstrap

./configure --prefix=/usr

sudo make install

Una vez finalizado todo, cerramos la terminal.

Ya estamos preparados para configurar el navegador, como dije al principio Firefox en este caso.

Primero vamos a importar los certificados que descargamos al inicio. Abrimos el navegador y nos dirigimos a Editar/Preferencias/Avanzado/Cifrado/Ver certificados y damos en Importar. Se nos abrirá una ventana donde tendremos que buscar el archivo ACRAIZ-SHA2.crt, que anteriormente habíamos descomprimido en nuestra carpeta personal.

Después se abrirá otra ventana donde hemos de marcar las tres casillas de verificación y aceptamos.

Ahora podemos verificar que ya está instalado en ver certificados:

En esa misma ventana, abrimos la pestaña Servidores y le damos de nuevo al botón Importar. Ahora al igual que en el paso anterior, añadiremos el otro archivo llamado AVDNIEFNMTSHA2.cer y aceptamos.

Por ultimo, solo nos queda añadir el modulo al navegador, pero antes tenemos que modificar de nuevo otro archivo. En este caso opensc.conf, donde descomentaremos la linea # enable_pinpad = false; , para que nos permita introducir el PIN.

sudo nano /usr/etc/opensc.conf

Lo dejamos así:

Guardamos, cerramos y volvemos de nuevo a Firefox. Abrimos Editar/Preferencias/Avanzado/Cifrado/Dispositivos de seguridad y pulsamos en cargar. Aquí pondremos el nombre del modulo (PKCS11) y su ubicación (/usr/lib/opensc-pkcs11.so).

Ya estamos, reiniciamos el ordenador, colocamos el DNI en el lector y comprobamos que funciona correctamente en esta pagina.

La primera vez nos saldrá un aviso que nos informa de que la conexión no está verificada, pulsamos en Entiendo los riesgos.

La ventana se ampliará y pulsamos en Añadir excepción…

Confirmamos la excepción de seguridad.

Y escogemos el certificado con el que nos identificamos.

El resto os lo dejo a vosotros…

Fuentes:

www.opensc-project.org

www.ubuntu-guia.com

www.esbuntu.com

Tutorial realizado por Elias Hidalgo para Linux Zone

Compártelo. ¡Gracias!

13 Comentarios
  1. elinvitado says:

    Siempre opiné que los que usan Linux son unos frikis y que todo es más complicado y esto lo demuestra. Pero alguien que se pega esa paliza para ayudar a un zonero, tiene todos mis respetos.
    Un saludo hispalis

    • andaporahienteradillo says:

      Siempre pensé que los que usan windows son un poco cortos y cualquier comentario suyo está fuera de contexto…
      Los problemas son para un sistema NUEVO. ¿Acaso no tienes problemas de drivers en Windows 8? Con la salvedad de que tú no los puedes arreglar, sólo esperar…

    • Anónimo says:

      Pues prueba a hacerlo andar en Windows a ver qué te ocurre… porque a mí en Windows no me funciona el driver que da la DGT ni tampoco el driver para Windows del OpenDNIe. Y como tampoco hay forma fácil de saber qué falla, te jodes, o mejor dicho, paso de perder el tiempo con Windows y su retorcido sistema.
      Y claro, ponte a compilar para Windows, que es super sencillo en comparación con Linux.

  2. anónimo says:

    A ver si Opensc lo incluye pronto en sus versiones oficiales. En Guadalinex funciona desde el modo Live, entonces es una opción muy cómoda si no lo vas a usar a diario

  3. Anonymous says:

    Despues de seguir todos los pasos al intentar acceder a la pagina para probar si todo funciona me da un error…
    Error de conexión SSL

  4. Anonymous says:

    Ha ocurrido un error durante una conexión a av-dnie.cert.fnmt.es.

    El otro extremo de la conexión SSL no puede verificar su certificado.

    (Código de error: ssl_error_bad_cert_alert)

  5. Anonymous says:

    Si da error, en el /home .mozilla/firefox/xxxxxxxx.default
    Borrad el archivo “secmod.db”. Se Cierra el navegador y al abrirlo de nuevo añadid otra vez el módulo “/usr/lib/opensc-pkcs11.so” y ya os pedirá el PIN.

  6. Ayax says:

    Estupendo tutorial que servirá a mucha gente, ya que instalar el DNI-e en Linux no es nada sencillo normalmente.

    Aprovecho para comentar que es muchísimo más cómodo y rápido utilizar un certificado electrónico emitido, por ejemplo, por la FNMT, que usar el DNI-e. Aparte que el chip del DNI-e se puede estropear en cualquier momento…

  7. leviatan89 says:

    Ufff, vamos que aun no es tan simple como conectar el lector al ordenador, instalar algún “software restringido” y meter el DNI….

    Gracias por el manual. Tiene muy buena pinta. Gran trabajo!!!

  8. Jose Luis says:

    Por fin. No había manera de hacerlo funcionar. Con tú manual, a la primera. Saludos y gracias.

  9. Luis says:

    He seguido las instrucciones al pie de la letra y me da el siguiente error:
    ———————————-
    Conexión segura fallida

    Ha ocurrido un error durante una conexión a av-dnie.cert.fnmt.es.

    El otro extremo de la conexión SSL no ha podido negociar un conjunto aceptable de parámetros de seguridad.

    (Código de error: ssl_error_handshake_failure_alert)

    ———————-
    Uso Ubuntu 12.04 LTS y Firefox 23 for Ubuntu canonical 1.0

    ¿Alguna idea de qué puede ser?

    Mil gracias

Dejar una respuesta

no se hace responsable de las opiniones de los internautas
Por favor revisa la ortografía y respeta las normas de la web.
XHTML: Puedes utilizar los siguientes tags:
<a href=""> <b> <i> <strong>

Linux Zone © 2007 - 2017