Cómo utilizar el DNI electrónico con Ubuntu Hardy

Ya tengo mi nuevo y «flamante» DNI electrónico con el que presuntamente se pueden realizar muchas operaciones sin esperar tediosas colas.

Me ha parecido increíble lo fácil que se tiene funcionando este DNI electrónico en Ubuntu, comparado con la utilización de la tarjeta de empleo electrónica para el Servicio Andaluz de Empleo, los cuales mantienen una versión MUY antigua del Java Runtime Environment y sin esa versión, no hay uso de la tarjeta. Pero vamos al grano, que me pierdo.

Dispongo de un lector criptográfico que gratuitamente me suministraron en el SAE. En concreto, se trata del Omnikey 3121 CCID, que podéis ver mejor en la siguiente imagen:

Bueno, pues visto el hardware del que dispongo, y el DNI, claro, paso a enumerar los pasos que he seguido por si a alguien más pudiera resultarle de utilidad.

Paso 0. Instalar JRE (Java Runtime Enviroment): en este caso, si no tenemos JRE, podemos instalar el último de los repositorios, con el siguiente comando:

neonigma@neonigma-laptop:~$ sudo apt-get install sun-java6-jre

Paso 1. Instalar los drivers del lector criptográfico correspondiente: en mi caso, los drivers de Omnikey vienen con el paquete libccid, que se instala con este sencillo comando:

neonigma@neonigma-laptop:~$ sudo apt-get install libccid

Paso 2. Instalar middleware PC/SC: Es el middleware que conecta el software criptográfico con el lector de tarjetas. Se encuentra en los repositorios, así que podemos instalarlo de la siguiente forma:

neonigma@neonigma-desktop:~/descargas/sae$ sudo apt-get install pcscd pcsc-tools

Paso 3. Ahora instalamos de los repositorios opensc:

neonigma@neonigma-desktop:~$ sudo apt-get install opensc mozilla-opensc

Paso 4. Descargamos e instalamos los drivers de DNI-e:

neonigma@neonigma-desktop:~$ wget http://www.dnielectronico.es/descargas/PKCS11_para_Sistemas_Unix/Ubunt_Gutsy.tar
neonigma@neonigma-desktop:~$ tar xf Ubunt_Gutsy.tar
neonigma@neonigma-desktop:~$ sudo dpkg -i Ubunt_Gutsy/opensc-dnie_1.4.0-5_i386.deb

En este paso nos pedirán que respondamos a una serie de preguntas. Marcamos las 3 opciones que nos salen y aceptamos las dos ventanas. La última hace referencia al lugar donde se instalará el certificado para Firefox, dicha ruta es /usr/lib/opensc-pkcs11.so.

Paso 5. Reiniciar.

Paso 6. Verificar el correcto funcionamiento del DNI-e: con el DNI insertado en el lector, vamos a este enlace, pulsamos aceptar a la pregunta acerca de si queremos utilizar el certificado y comprobamos que funcione correctamente, en cuyo caso aparecerá una imagen parecida a la siguiente:

Si posees en vez de mi modelo otros lectores como el ACR38, te recomiendo la entrada que ha creado J. Félix Ontañón en este enlace.

Errores comunes

  • Alcachi nos informa de un error que podría ocurrirle a alguien con la extension de Firefox noscript instalada. En su caso el noscript hizo que no se cargase automáticamente el modulo de seguridad para el firefox. Para instalarlo manualmente lo más sencillo es cargar en el navegador la siguiente dirección:
    file:///usr/share/opensc-dnie/instal_dnie/instala_modulo.htm
    y decirle al noscript que permita ejecutar scripts en esta página.
  • julianon nos informa de que se deben instalar las versiones de los paquetes opensc que vienen en la página del dni, si se tienen instaladas o se os instalan versiones posteriores es probable que ocurran errores.

Creative Commons License Este tutorial tiene licencia CC-BY.

Referencia: AxLinux

A 9 personas les gusta esta entrada

68 pensamientos en “Cómo utilizar el DNI electrónico con Ubuntu Hardy

  1. interesting. La verdad, es que tengo el lector de dni electrónico ahí, criando polvo. A ver si logro hacerlo funcionar en mi ubuntu . NO es el modelo que tienes tú, pero supongo que algo encontraré por ahí…

  2. Mmm en ese caso creo que cambiaría simplemente el paso 1 porque los drivers de tu lector criptográfico serían diferentes, se bajarían de internet o se instalarían de otro (o del mismo) paquete.

    Ánimo con ello, pero si lo resuelves coméntamelo para agrandar el artículo según unos lectores u otros, please.

    Saludos.

  3. fistro, ni eso ha hecho falta. comparten el mismo driver. He hecho mi primera operación online (consultar el catastro, nada raro) y cuando he ido a hacer la segunda (entrar en la web de bankinter) me he dado de bruces con que los de bankinter tienen dni electrónico sólo ‘de boquilla’.

    Eso sí, gracias a tu artículo le voy a asacar provecho al lector, que le tenía ahí amuermado 🙂

  4. He seguido todas las secuencias pero al intruducir lo siguiente:

    ~$ tar Ubunt_Gutsy.tar
    tar: La opción antigua `b’ requiere un argumento
    Intente`tar –help’ o `tar –usage’ para mayor información.

    Esto es lo que me dice y desde aquí ya no puedo continuar con la instalación.

  5. Tienes razón santi, se me había olvidado poner la opción «xf» en el manual.

    El comando sería:
    ~$ tar xf Ubunt_Gutsy.tar

    También puedes descomprimirlo desde Nautilus 😛

    Un saludo!

  6. Bien continué con el proceso pero en el paso siguiente, esto es lo que me ocurrió:

    santi@santi-desktop:~$ sudo dpkg -i Ubunt_Gutsy/opensc-dnie_1.4.0-5_i386.deb
    dpkg: error al procesar Ubunt_Gutsy/opensc-dnie_1.4.0-5_i386.deb (–install):
    la arquitectura del paquete (i386) no corresponde con la del sistema (amd64)
    Se encontraron errores al procesar:
    Ubunt_Gutsy/opensc-dnie_1.4.0-5_i386.deb

  7. Santi, como bien te dice el log, estás intentando instalar un paquete compilado para un procesador con arquitectura de 32 bits, mientras que tu sistema operativo utiliza la arquitectura de 64 bits.

    Desconozco si la gente que lleva el dni electronico ha dispuesto un paquete compilado para procesadores de 64 bits. En mi caso, yo tengo un procesador de 64 bits, pero al tener Ubuntu Intrepid en su versión de 32 bits, no hay problema, y tampoco me molesta no utilizar los 64 bits, puesto que como habrás comprobado a veces no hay paquetes compilados para esta arquitectura.

    Un saludo.

  8. Hola
    tengo un lector C3PO LTC31 v2 (usb)
    tengo una tarjeta de la FNMT lleva dentro un certificado, me imagino que el mismo que el del DNI
    utilizo Ubuntu 8.10 y Firefox 3.0.3
    sigo tus instrucciones, en realidad ya había instalado todo a través de la web de c3po

    va todo bien, pero cuando trato de añadir en firefox el modulo opensc-pksc11.so (desde /usr/lib/)

    me dice que no es posble añadir el modulo

    ¿alguna idea?

    gracias de todas formas

  9. Bueno, pues al final funciona, pero solo con la tarjeta antigua,
    me explico.

    He reinstalado ubuntu 8.10, tenia una actualización desde 8.04, y como ya no me acuerdo de todo lo que he estado trastocando pues, me he dicho, mejor lo instalo nuevo y empiezo de cero.

    he seguido tus instrucciones y me daba el mismo error

    Despues he ido a ceres
    http://www.cert.fnmt.es/index.php?cha=cit&sec=tech_support&page=80&lang=es

    he instalado la version para GNU/Linux Ubuntu Gutsy Gibbon (no hay otra mas reciente

    despues de varios intentos, me decia (al tratar de cargar el modulo en el firefox) que ya estaba instalado

    he tratado de cargarlo de nuevo poniendo como nombre OpenSC y el modulo /usr/lib/opensc-pkcs11.so
    y ya me funciona

    Tengo 2 tarjetas
    1.- tarjeta de la FNMT (con el certificado anulado, al hacerme la nueva)
    2.- tarjeta del gobierno de aragón

    con la 1ª me funciona, vamos el navegador me la reconoce, pero .. como tengo el certificado anulado, pues no puedo hacer nada.

    Con la 2ª el navegador no me la reconoce.

    las 2 tarjetas son distintas (los contactos del chip)
    pero la 2ª los contactos del chip son identicos a los del DNI (de momento DNI electronico no tengo)

  10. Por fín he conseguido instalar siguiendo las instrucciones, y he llegado hasta el momento de generar la firma, pero me sale que mi navegador (Firefox 3.0.3 en Ubuntu Hardy) no ha podido hacerlo.
    ¿Cuál es el problema?).

  11. Yo he enviado un correo electrónico al DNIe preguntando para cuando estaría disponible una versión para poder usar en procesadores con arquitectura de 64 bits, y me han contestado que están en ello y que tratarán de resolverme el caso cuanto antes.
    Confiemos en su palabra.

  12. Laure, no entiendo cuál es el momento de generar la firma. Tampoco entiendo el error que te da Firefox, podrías darme algún detalle más?

  13. Hola, gracias por tu pronta respuesta.
    Mi problema es el siguiente: cuando accedo a la página del enlace que pones para verificar el funcionamiento, sale una ventana que me dice «Está a punto de realizar una FIRMA electrónica con su clave de firma del DNI electrónico ¿Desea permitir esta operación?». Al aceptar me sale otra pantalla con los datos de mi DNIe y debajo una línea de edición con etiqueta «Introduzca los datos a firmar». ¿Qué datos he de introducir?, puesto que he probado varias posibilidades y la respuesta es la que indicaba en mi anterior post: «Su navegador no ha podido generar una firma válida»
    Gracias de nuevo.

  14. Laure, esa línea de edición es para que tú firmes cualquier texto que quieras, por ejemplo pones «hola, soy laure» y le das a firmar y es para comprobar que se realiza el proceso de firma, a mi la verdad es q me funciona. Pero lo que realmente es importante para la firma es que la página te muestre tus datos del DNIe, porque significa que es capaz de leerte la tarjeta. Claro que el proceso de firma también es importante, prueba a poner cualquier cadena a ver si te genera bien la firma. O prueba a utilizar cualquier servicio del DNIe a ver que tal (yo lo utilizo para identificarme en la cita por internet para el médico).

    Un saludo.

  15. El problema creo que está en Firefox, ya que cuando intento cargar el módulo de seguridad (/usr/lib/opensc-pkcs11.so) me dice que no puede cargar el módulo. Como Pedro, he seguido su «método» pero no he tenido tanta suerte. También he probado con las instrucciones del lector, arrastrando el archivo al navegador, pero tras preguntarme si quiero instalar el módulo de seguridad y aceptar, me repite que no se puede cargar el módulo.
    ¿Se te ocurre algo?.
    Un saludo.

  16. Se me ocurre que puedes mirar en Editar -> Preferencias -> Avanzado -> Cifrado -> Dispositivos de seguridad a ver si tienes algún módulo cargado. Si no lo tienes, cargarlo indicando la ruta /usr/lib/opensc-pkcs11.so y si ya lo tienes, descárgalo y vuélvelo a cargar a ver. De todas formas deberías probar algún servicio para ver si t funciona correctamente, q de eso no me has contado nada.
    Suerte y un saludo.

  17. Hola,

    Para los que teneis problemas cargando el módulo /usr/lib/opensc-pkcs11.so, me he dado cuenta que es porque hay que tener corriendo pcscd, un paquete que no viene documentado en el manual del DNI electrónico para Linux. Así que nada más hacer:

    # apt-get install pcscd
    y ver que arrancaba el proceso,
    he ido a cargar el módulo y me ha funcionado.

  18. Pingback: DNIe en Ubuntu Hardy Heron e Intrepid Ibex « Barraquito.net

  19. Muy buena guia, gracias a ella ya tengo instalado el dnie en ubuntu hardy.

    Un unico apunte de un problema que encontre y que podria ocurrirle a alguien mas que tenga instalada la extension de firefox noscript. En mi caso el noscript hizo que no se cargase automaticamente el modulo de seguridad para el firefox. Para instalarlo manualmente lo mas sencillo que he visto es cargar en el navegador la siguiente direccion:
    file:///usr/share/opensc-dnie/instal_dnie/instala_modulo.htm
    y decirle al noscript que permita ejecutar scripts en esta pagina.

    PD. Este detalle lo descubri en:
    http://axlinux.blogspot.com/2008/10/configuracion-del-dnie-en-firefox3-en.html

  20. El lector es reconocido. Sigo los pasos y al llegar al cuarto paso no me salen las preguntas, en cambio aparece el siguiente mensaje:

    Procesando activadores para libc6 …
    ldconfig deferred processing now taking place

    Y ahí se queda todo. ¿Alguna idea o sugerencia?
    Gracias.

  21. ¡Grande el tutorial, neonigma! No obstante, permíteme una observación que creo que puede ser útil para usuarios que, como yo, nos hemos devanado los sesos hasta conseguir que el Omnikey 3121 funcionase.

    En mi caso (Ubuntu Intrepid Ibex) no era capaz de que PC/SC reconociese el lector de tarjetas:
    SCardListReader: Cannot find a smart card reader. (0x8010002E)

    No obstante, a través de lsusb se podía comprobar que el sistema lo reconocía:
    Bus 003 Device 004: ID 076b:3021 OmniKey AG CardMan 3121

    Al final, tras leer muchos foros y blogs, descubrí que el problema venía de OpenCT, que interfería con PC/SC. Desinstalé OpenCT y mano de santo, oye.

    Un saludo.

  22. @Leoplus: muchísimas gracias por la info, actualizaré el tutorial con lo que me comentas.

    @Parecía buena idea: escribe file:///usr/share/opensc-dnie/instal_dnie/instala_modulo.htm en el navegador para que se te hagan las preguntas.

  23. A mí me sale todo, hasta que quiero comprobar el certificado de firma, pero me sale que no puedo cargar una firma electrónica válida.

  24. El problema que yo tengo es el siguiente: en la página de la Seguridad Social no hay problema (he conseguido descargar la vida laboral), pero en la de Hacienda, al intentar cambiar los datos personales a través del formulario digital, cuando le doy a aceptar y firmar el problema me lo da al terminar, que me dice que no puede emitir la firma digital.

  25. Pero el caso es que en la página de comprobación en la que aparecen los datos, al intentar poner lo del certificado de firma tampoco se puede.

  26. La verdad es que no sé a qué puede deberse fran. En todo caso, si lo consigues avisa, please. Así lo aprendemos todos 🙂

    Un saludo.

  27. Gracias tio!
    Si tengo que arreglarme con las instrucciones de ceres lo llevo iluminado.

  28. Hola, tengo ese lector de tarjetas Soy de Sevilla, ubuntu 9.04 y java 6, pero el DNI no me funciona en la pagina del SAE, pero si me funciona perfectamente en la pagina de la Seguridad Social por ejemplo, ¿Que puede ser lo que ocurre?

    Luego tambien me pasa que si meto la tarjeta verde de SAE que me dieron junto al lector de tarjetas me pide el PIN lo marco CORRECTAMENTE PERO NO ME DEJA ENTRAR Y ME LO VUELVE A PEDIER EL PIN INDEFINIDAMENTE, CON EL DNI NO ME PASA.
    mE AYUDAS porfavor?
    gracais.

  29. Hola!!! Me parece muy interesante todo lo que contais aquí pero la verdad es ke el 80% me suena a chino….Y yo reivindico el derecho de que los que no tenemos ni idea de informática también podamos usar nuestro DNI sin ke nos cueste una pasta…. asi que, por favor, podríais explicar alguno de estos eruditos cómo utilizar el lector del SAE????!!!!…..que aún tengo sin estrenar….pero con explicación en español…nada de chino, ok?

    Muxas gracias!!! 😉

  30. Hola mary,

    no te preocupes que el post está en perfecto español jejeje. Me uno a la petición de que los duchos en la materia informática puedan utilizar el dni, pero también pienso que se necesitan actos por parte de éstos 🙂
    Te comento, este post está escrito en concreto para el sistema operativo, ¿es el que tienes instalado? Si la respuesta es afirmativa, puedes comenzar a realizar el tutorial y preguntar los pasos que vayan fallando. Pero para eso hay que comenzar los pasos. Si la respuesta es negativa, es decir, no usas un sistema operativo GNU/Linux con paquetería .deb (Ubuntu, Debian, etc.), me temo que este post no puede ayudarte y, en ese caso, Internet está llena de referencias a la instalación del DNI electrónico en esos otros sistemas operativos.

    Un saludo mary 🙂

  31. Vamos a ver…¿Son incompatibles dos tarjetas para el mismo lector, cada una con un módulo distinto?.
    Esto es, la mia, la famosa tarjeta que entregaba el SAE (el lector el que estamos tratando).
    Y por otro lado el DNIe de mi mujer que no hay dios que lo eche a andar (…hasta me bloquea el Firefox, cualquier version que esté instalada), pese a estar cargado el mçodulo a traves de la ruta que indicais más arriba (file:///usr/share/opensc-dnie/instal_dnie/instala_modulo.htm) porque si trato de entrar en AEAT, me pide indefinidamente la clave, lo mismo que si picho en el enlace para validar lafirma (dnielectronico).
    ¡AHHGGGG!, que desesperacion!!!!!!

  32. La verdad es q el DNI electronico y la tarjeta del SAE los utilicé en épocas e instalaciones de Ubuntu diferentes, yo tb he tenido problemas a la hora de ponerlas las dos a la vez, tengo que ponerme de nuevo y hacer un tutorial conjunto, q realmente necesito las dos furulando.

    Si tienes algún avance avisa!

  33. Buenas! Al añadir el Modulo Tarjeta Inteligente a Firefox me da el sigueinte error:
    [opensc-pkcs11] pkcs11-global.c:190:C_Initialize: C_Initialize(): Cryptoki already initialized
    [opensc-pkcs11] pkcs11-global.c:190:C_Initialize: C_Initialize(): Cryptoki already initialized
    ERROR: Failed to add module «Tarjeta Inteligente». Probable cause : «An I/O error occurred during security authorization.».

    El comando que uso para añadir el modulo es:
    modutil -add «Tarjeta Inteligente» -libfile /usr/lib/opensc-pkcs11.so -dbdir ~/.mozilla/firefox/{profile}/
    Uso Debian y Firefox 3.5 Mi lector es el omnikey el cual me detecta perfectamente y el comando pcsc_scan me devuelve el valor de dni electronico insertado, por lo que entiendo que esta correcto, el problema es el navegador.
    Gracias de antemano. Un saludo

  34. Que tal buenas tardes. Aun sigo de pelea con el lector y las dos tarjetas (SAE y DNIe).
    Pese a estar cargado correctamente los modulos y haber seguido el tuto que aqui figura aun no logro dar con la tecla.
    Si ejecuto un pcsc_scan , me indica que el DNIe no está reconocido, y por tanto no funciona ni a la de tres. He mirado el listado de tarjetas que figuran como reconocidas por el lector Omnikey en «/usr/share/pcsc/smartcard_list.txt» y si figura la del DNIe pero la secuencia es distinta. Es decir, al efectuar un » pcsc_scan», no me reconoce el DNIe y la secuencia que aparece es la que sigue:
    Card state: Card inserted,
    ATR: 3B 7F 38 00 00 00 6A 44 4E 49 65 10 02 4C 34 01 13 03 90 00.

    Sin embargo en el listado que figuran como reconocidas esa secuencia es distinta:
    3B 7F 38 00 00 00 6A 44 4E 49 65 20 02 4C 34 01 13 03 90 00

    Cambia, en el DNIe es 10, mientras en la lista es 20.
    Y me estoy empezando a desesperar.
    Un saludo a todos

  35. Juer, ara q se puede utilizar la tarjeta criptográfica de la Junta con el último JRE, va y deja de funcionar el DNIe 🙁

    Me pasa lo mismo que a niquitonipongo, me pide muchas veces la contraseña y nada, e incluso no me deja iniciar sesión en la zona de dispositivos de seguridad de Firefox.

    En este enlace comentaban que antaño fue un problema de versiones, no sé ahora.

    Además, al utilizar el comando modutil también me da los errores que comenta Juanjo:
    [opensc-pkcs11] iso7816.c:99:iso7816_check_sw: Security status not satisfied
    [opensc-pkcs11] c3po_card.c:1093:card_read_binary: returning with: Security status not satisfied
    [opensc-pkcs11] card.c:430:sc_read_binary: returning with: Security status not satisfied
    [opensc-pkcs11] card_helper.c:326:card_helper_read_certificate_file: returning with: Security status not satisfied
    [opensc-pkcs11] card_sync.c:880:card_sync_card_to_virtual_fs_certificate_file_callback: returning with: Security status not satisfied

    Habrá que seguir investigando…

  36. hola neonigma
    buen tutorial,a pesar de no tener lector de dnie ni de dni electronico me han surjido unas dudas

    con dicho lector se pueden modificar datos de tu dni electronico????
    Si es asi o hubiera la posibilidad de modificar datos sin que tenga ningun numero identificatorio como puede ser un numero mac o algo que te identifique, podria ser muy peligroso porque no habria control alguno.
    Hoy en dia es pronto pero tiempo al tiempo,algun dia veremos por las noticias a alguien que ha intentado estafar aprobechando algun fallo

  37. Muchas gracias por la estupenda guía o tutorial, he realizado la instalación en varias versiones de Ubuntu con diferentes máquinas y lectores y ha funcionado sin problemas.
    El tutorial muy claro, didáctico y con las secuencias y enlaces que funcionan a la primera.
    Un saludo

  38. Pingback: Negonation Blog » Blog Archive » Premio de 1.000 € al mejor tutorial de instalación del DNIe: Solo quedan 5 días para presentarse

  39. Tened cuidado e instalar las versiones de los paquetes opensc que vienen en la página del dni, si ya teneis instaladas o se os instalan versiones posteriores no funcionará!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *