DNI Electrónico en Ubuntu GNU/Linux


Este minitutorial explica cómo instalar y configurar el lector de DNIe (DNI Electrónico) suministrado (a los ciudadanos que lo solicitaron) gratuitamente por el Gobierno y Tractis.

Este procedimiento está probado con un lector SCR3310 v2.0 (del Plan Avanza2000 del Gobierno de España), aunque debería funcionar con cualquier modelo compatible.


Instalación del software

Instalamos los siguientes paquetes:

sudo apt-get install opensc libopensc2 libccid libpcsclite1 pcscd pcsc-tools 
sudo apt-get install mozilla-opensc libnss3-tools 
sudo apt-get install sun-java6-jre sun-java6-plugin
sudo apt-get install pinentry-gtk2 

En el caso de utilizar KDE en lugar de GNOME, podemos cambiar pinentry-gtk2 por pinentry-qt4.

Entramos en la página oficinal del DNIe y descargamos los paquetes modificados para la arquitectura y distribución que utilicemos:



En nuestro caso, para una Ubuntu 64 bits Karmik (9.10), así como para la versión anterior (Jaunty 9.04), pulsamos en opensc-dnie_1.4.6, luego en Arquitectura 64 bits y luego en Ubuntu_Jaunty_Jackalope_64bits (el mismo binario vale para las 2 versiones, aunque si se publica una versión específica para Ubuntu 9.10 es recomendable usar esta).


Descargamos el fichero opensc-dnie_1.4.6-2_amd64.deb (o la última versión que haya disponible) y ejecutamos los siguientes comandos:

sudo dpkg -i libopensc2_0.11.7-7_amd64.deb opensc_0.11.7-7_amd64.deb
sudo dpkg -i opensc-dnie_1.4.6-2_amd64.deb

Es posible que el anterior comando nos dé un aviso de que las versiones que estamos instalando son anteriores a las de nuestra distribución.

Finalmente, ponemos los paquetes instalados en estado HOLD para que no se actualicen de forma automática:

sudo echo -e "opensc hold\nlibopensc2 hold" | sudo dpkg --set-selections


Probando el lector USB

En consola, ejecutamos el comando *pcsc_scan*. Aparecerá el siguiente texto:

[sromero@compiler:~]$ pcsc_scan 
PC/SC device scanner
V 1.4.15 (c) 2001-2009, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.4.102
Scanning present readers...
Waiting for the first reader...

Pinchamos en el puerto USB el lector de tarjetas sin el DNI dentro, y deberá aparecer lo siguiente:

[sromero@compiler:~]$ pcsc_scan
PC/SC device scanner
V 1.4.15 (c) 2001-2009, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.4.102
Scanning present readers...
Waiting for the first reader...found one
Scanning present readers...
0: SCM SCR 3310 00 00

Tue Nov 10 15:54:38 2009
 Reader 0: SCM SCR 3310 00 00
  Card state: Card removed, 

(La cadena "0: SCM SCR 3310 00 00" identifica al lector de tarjetas, para otros modelos de lectores saldrá un valor diferente).

Si insertamos en ese momento el DNI electrónico en el lector, veremos que aparece lo siguiente en pantalla:

Tue Nov 10 15:56:20 2009
 Reader 0: SCM SCR 3310 00 00
  Card state: Card inserted, 
  ATR: 3B 7F 38 00 00 00 6A 23 4E 49 65 21 02 4A 34 01 13 03 80 00

ATR: 3B 7F 38 00 00 00 6A 23 4E 49 65 21 02 4A 34 01 13 03 80 00
+ TS = 3B --> Direct Convention
+ T0 = 7F, Y(1): 0111, K: 15 (historical bytes)
  TA(1) = 38 --> Fi=744, Di=12, 62 cycles/ETU
    64516 bits/s at 4 MHz, fMax for Fi = 8 MHz => 129032 bits/s
  TB(1) = 00 --> VPP is not electrically connected
  TC(1) = 00 --> Extra guard time: 0
+ Historical bytes: 00 6A 23 4E 49 65 21 02 4A 34 01 13 03 80 00
  Category indicator byte: 00 (compact TLV data object)
    Tag: 6, len: A (pre-issuing data)
    Mandatory status indicator (3 last bytes)
      LCS (life card cycle): 03 (Initialisation state)
      SW: 9000 (Normal processing.)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B 7F 38 00 00 00 6A 23 4E 49 65 21 02 4A 34 01 13 03 80 00
3B 7F 38 00 00 00 6A 23 4E 49 65 [1,2]0 02 4A 34 01 13 03 80 00
	DNI electronico (Spanish electronic ID card)
	http://www.dnielectronico.es


Eso quiere decir que nuestro lector está soportado y el Sistema Operativo puede leerlo. Lo siguiente es configurar el navegador para que sea capaz de "usar" el lector.


Configurar DNIe y Certificado Policía Nacional en Firefox

Lo siguiente es configurar Firefox para que pueda usar nuestro DNI electrónico, importando el certificado de la Policía Nacional y habilitando soporte para cifrado PKCS#11, de forma que podamos usar nuestro DNI electrónico en las webs que lo soporten.

Para eso, con Firefox abierto, tenemos que ejecutar un programa que viene con el paquete que hemos instalado (opensc-dnie).

Por defecto, podemos encontrar este programa en los menúes de Ubuntu en:


  • Aplicaciones → Oficina → Registrar Módulo DNIe PCKS#11


Si no tenemos esa entrada en el menú, podemos lanzar directamente el ejecutable en una terminal averiguando cuál es así:

[sromero@compiler:~]$ dpkg -L opensc-dnie | grep pkcs11
/usr/share/opensc-dnie/inst_pkcs11_cert.pl

[sromero@compiler:~]$ /usr/share/opensc-dnie/inst_pkcs11_cert.pl

Al ejecutar esto, se abrirán 2 pestañas nuevas en el Firefox.


  • En una de ellas, se realiza la instalación de la opensc-pcks#11 en Firefox.
  • En la otra, se instala el certificado de la Policía Nacional en el navegador, para lo cual debemos marcar las 3 casillas y aceptar la instalación del mismo.


Una vez realizado esto, debemos reiniciar Firefox.

Al abrirlo, hay que verificar que el módulo de PCKS#11 se ha instalado correctamente. Para eso hacemos lo siguiente:


  • Pulsamos en Editar → Preferencias o Herramientas → Opciones (según la versión de Firefox).
  • Pulsamos en el icono de Avanzado.
  • Pulsamos en la pestaña Cifrado
  • Pulsamos en el botón Dispositivos de Seguridad.




  • Allí, pulsamos en NSS Internal PKCS #11 Module, y en el botón Cargar.
  • Se nos pedirá el path al módulo de PKCS#11. Introducimos /usr/lib/opensc-pkcs11.so.
  • Cerramos y abrimos Firefox.
  • Volvemos a Editar → Preferencias o Herramientas → Opciones (según la versión de Firefox).
  • Pulsamos en el icono de Avanzado.
  • Pulsamos en la pestaña Cifrado
  • Pulsamos en el botón Ver certificados.
  • Se nos pedirá el PIN de nuestro DNI electrónico. Debemos introducirlo para poder operar con él.


Probar el DNIe en webs oficiales

Si queremos probar nuestro DNI electrónico, lo podemos hacer en la siguiente URL:

* https://av-dnie.cert.fnmt.es/compruebacert/compruebacert

También es posible, por ejemplo, entrar en la Web de la Seguridad Social, y consultar nuestra Vida Laboral, por ejemplo.

Existen otras webs que utilizan el DNIe pero lo realizan a través de aplicaciones Java. Algunos usuarios han reportado que el DNIe no les funciona adecuadamente bajo estas aplicaciones.

<Volver a la sección de GNU/Linux>