
Instalar el lector de DNIe deberÃa ser un proceso automático, bonito y a ser posible con música de Natalie Imbruglia de fondo, pero no. Por desgracia, desde el Portal Oficial del DNI Electrónico no dejan de dar largas a las peticiones de liberar el código fuente del módulo criptográfico necesario y tampoco se esfuerzan mucho en soportar las más recientes versiones de los sistemas GNU/Linux.
En su portal de descargas puedes encontrar software para algunas distribuciones: Debian, Ubuntu y Fedora. Por desgracia, al menos en el caso de Ubuntu y Fedora, se trata solo de versiones antiguas.
Después del salto veremos cómo puedes instalar un lector de DNIe y probarlo en Ubuntu 9.10, utilizando el software de versiones anteriores con un par de truquitos que nos sacaremos de la manga. Otro dÃa ya veremos cómo instalarlo en Fedora 12 y otras distribuciones.
Descarga el software para Ubuntu 9.04
Lo primero que debes hacer es descargar el software para Ubuntu 9.04. Hay que elegir entre la versión de 32 bits o la versión de 64 bits, dependiendo de la arquitectura del sistema. Si no estás seguro, lo más probable es que necesites la versión de 32 bits.
Instala los paquetes descargados
Pulsa con el botón derecho sobre el archivo y selecciona la opción Extraer aquÃ. Se creará un directorio con tres archivos, que corresponden a los tres componentes necesarios para que el lector funcione:
- libopensc
- opensc
- opensc-dnie
Debes instalar por ese mismo orden los tres archivos. Primero haces doble clic sobre el correspondiente a libopensc y lo instalas, ignorando las advertencias sobre que en los canales de software existe una versión posterior. Luego haces lo mismo con opensc y por último con opensc-dnie.
Es importante seguir este orden, porque como opensc depende de libopensc, si intentas instalar opensc primero, el sistema descargará desde Internet una versión posterior de libopensc que no sirve.
Evita que el sistema actualice opensc
Seguro que antes de que te de tiempo a reaccionar, Ubuntu detectará que hay versiones más nuevas de opensc en los orÃgenes de software y te invitará a actualizar. No debes hacerlo, o el módulo del DNIe dejará de funcionar.

Para evitar que el sistema te avise constantemente de que hay una versión posterior, vete a Sistema » Administración » Gestor de paquetes Synaptic. Allà busca los paquetes opensc y libopensc, selecciónalos y marca la casilla Paquete » Bloquear versión.
Instala el módulo de la tarjeta y el certificado en Firefox
Vete al menú Aplicaciones » Oficina » Registrar módulo DNIe #PKCS11. Se abrirá el Firefox. Siguiendo las instrucciones en pantalla, ciérralo y vuelve a abrirlo. Marca las tres casillas y pulsa el botón Aceptar.
El certificado deberÃa haberse añadido correctamente. Para comprobarlo acude al menú Editar » Preferencias. En el apartado Avanzado, pestaña Cifrado, pulsa en el botón Ver certificados y deberÃas encontrar allà el certificado de la Dirección General de PolicÃa, en la pestaña de Autoridades.

TodavÃa necesitas añadir el módulo de la tarjeta, para que reconozca el lector. En esa misma ventana de las preferencias, en ese mismo apartado, pulsa en el botón Dispositivos de seguridad.

En la nueva ventana que se abre, pulsa el botón Cargar, dale un nombre y en la casilla de Archivo del módulo introduce «/usr/lib/opensc-pkcs11.so», tal y como se puede ver en la captura de pantalla. Por último, pulsa en Aceptar.

Reinicia Firefox. Vuelve al gestor de Dispositivos de seguridad. Verás una nueva entrada que tiene varios Virtual slot. Enchufa el lector si no lo estaba ya e introduce tu DNI Electrónico. Si todo va bien, el primer Virtual slot deberÃa transformarse en DNI electrónico (PIN1) pasados unos segundos.
Cómo probar el DNI Electrónico
En el Portal oficial del DNI Electrónico encontrarás muchÃsimos enlaces a páginas del Gobierno y también a páginas de empresas que soportan el DNI Electrónico como método de autenticación, asà que lo mejor es que busques un servicio que ya utilices para probarlo.
Cuando sea necesario, Firefox deberÃa pedirte el PIN, que te han debido entregar en un sobre cuando expidieron el DNIe. Si no lo encuentras, puedes establecer uno nuevo en cualquier oficina identificándote con las huellas dactilares.










¡Qué chapuza! ¿Que les costará a los del ministerio liberar el código fuente y, de paso, tener binarios optimizados para las principales distribuciones actualizadas de GNU/Linux? Asà es difÃcil que se use el DNI-e.
Al parecer mucho, lo mismo que contestar al correo electrónico de asistencia técnica. Es usar la palabra “linux” o “ubuntu” y el mensaje debe ir a spam o algo asÃ…
xD Linu’? eso que e’ lo que e’? Que miedo al mundo libre..
Pues no sé de qué os quejáis los linuxeros. La forma de instalación es la propia de linux y por la cual os sentÃs tan inteligentes, tan guais y tan privilegiados: escribo 20 o 30 lineas de comandos en una pantallita negra mientras me toco la junta de la trócola con los dedos pulgar e Ãndice juntos y después hago el pino-puente. Asà es como se hacen las cosas en un sistema operativo de verdad y no como estos vulgares usuarios de windows que solo quieren prácticamente solas. Eso es linux: un sistema operativo que te pasas el 90% del tiempo arreglándolo y ajustándolo y el 10% restante, bajando con el…¡que si no se atontan los cerebros!.
Por favor, no llenes los comentarios de todos los hilos con esta discusión, absurda y que no viene a cuento de nada. Un poco de calma.
JAJAJAJA
Me dio mucha risa tu comentario y tienes razón en algo: Muchos usuarios de Linux son muy ingeridos.
No me incluyo en esto porque me importa un carajo las discusiones entre sistemas operativos, nadie nos dará un euro, dolar o lo que sea para perder nuestro tiempo discutiendo por Internet.
Muy observador de tu parte, pero que cada quien haga con su vida lo que quiera. xD
Con todos los respetos, pero creo que nadie se queja. Es una cuestión de decisión. Creo que yo tengo derecho a elegir, pero no por eso trato de imponerte nada. El problema es que el gobierno que yo elijo en las urnas y cuyo sueldo pago con mis impuestos decida por mà qué sistema tengo que usar.
Por cierto, no se de donde te sacas eso del 90% arreglando nada. Eso es lo que hacÃa yo antes con el ekispé, formateo tras formateo. Con Linux es instalar y listo, y si necesito algo, con gente como el dueño de este blog dispuesta a ayudar no tengo problemas. Si a tà te va mas el rollo ese de “siguiente, siguiente, siguiente” para descubrir que te has instalado sabe Dios qué que las cosas no funcionan como antes, pues también es una decision respetable. Ahora no hagas comulgar a nadie con cosas como que “Linux es para frikis presumidos que desprecian al usuario medio”, porque no es verdad.
Francamente que lioso es todo el proceso, pero te has hecho un tutorial excelente.
Felicitaciones.
Me pongo a investigar qué es el DNIe y me doy cuenta que el tema no es de mi incumbencia, sin embargo quiero felicitar el autor del tutorial.
@carlos y simpatizantes:
La queja no la vas a entender jamás con esa mentalidad que tienes, asà que no le busques.
Pues todo va bien hasta que llega el momento de convertir el virtual slot en la casilla para el pin 1 del edni, que no se cambia.
Un lsusb me muestra que el dispositivo esta dentro, y es reconocido, pero hasta ahi…
Un poco de ayuda, porfa?
@Carlos y demas: Paso, mucho y muy ampliamente de tu rollo. Quedate con tu, ejem… Sistema operativo, y deja que nosotros nos ocupemos del nuestro.
Para jugar con los niños mayores necesitas ser mayor… Asi que no puedes jugar, lo siento por ti.
salu2
SÃ, lo mejor para diagnosticar lo que ocurre es que arranques firefox desde una terminal. Te pondrá muchos mensajes coloreados en rojo y posiblemente verde, eso es del opensc.
Copia y pega esos mensajes en alguna web como por ejemplo http://pastebin.com y ponnos la dirección. Por cierto, ¿qué lector tienes?
Gracias por el interés, Jorge.
El lector es un SCM Microsystems, de los que subvencionaron hasta hace poco, y te cuento que en principio, parece detectado:
bodescu@OracleV4:~$ lsusb Bus 002 Device 006: ID 04e6:5116 SCM Microsystems, Inc. SCR331-LC1 SmartCard Reader Bus 002 Device 004: ID 046d:c312 Logitech, Inc. DeLuxe 250 Keyboard Bus 002 Device 003: ID 093a:2500 Pixart Imaging, Inc. USB Optical Mouse Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 003: ID 054c:01bd Sony Corp. MRW62E Multi-Card Reader/Writer Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub bodescu@OracleV4:~$
Pero después de abrir el FF, me sale un montón de veces este aviso (supongo que una por virtual slot…):
[opensc-pkcs11] reader-pcsc.c:892:pcsc_detect_readers: SCardEstablishContext failed: 0x8010001d [opensc-pkcs11] reader-pcsc.c:1001:pcsc_detect_readers: returning with: No readers found
(Espero que el c&p no sea demasiado intrusista en la respuesta; de ser asÃ, no tengo inconveniente en mandarla a un pastebin, a tu petición)
Un saludo
Vale, creo que es el mismo lector que tengo yo. No deberÃa haber problemas. Pero con eso que me dices no se me ocurre nada…
Inicia firefox desde terminal con el lector desconectado. Entonces conecta el lector, y luego la tarjeta al lector. ¿Se enciende un led verde? ¿Llega a parpadear? Pega la salida completa de la terminal (esta sà que deberÃa ser más extensa, asà que mejor ponla en pastebin).
Tal y como me pides: http://pastebin.com/m38f158d4
El lector no da señales de vida. Antes de que siquiera lo plantees, funciona ok bajo XP, y tambien bajo W7 (aunque menos ok, la verdad… Pero no viene a cuento)
un saludo
Prueba a enchufarlo en otro USB diferente. A mà no me funciona en uno de los puertos USB que tengo conectados con un concentrador dentro del PC. También pon:
Entonces enchufa el lector. Lo nuevo que te ponga pégalo también por aquÃ.
Lo pincho directamente a placa, varias veces para ver que pasa, y…
bodescu@OracleV4:~$ tail -f /var/log/messages Dec 27 21:07:12 OracleV4 kernel: [21006.328566] usb 2-1: USB disconnect, address 8 Dec 27 21:07:45 OracleV4 kernel: [21039.224041] usb 2-1: new full speed USB device using ohci_hcd and address 9 Dec 27 21:07:45 OracleV4 kernel: [21039.450299] usb 2-1: configuration #1 chosen from 1 choice Dec 27 22:04:55 OracleV4 kernel: [24469.946960] usb 2-1: USB disconnect, address 9 Dec 27 22:05:26 OracleV4 kernel: [24501.056048] usb 2-5: new full speed USB device using ohci_hcd and address 10 Dec 27 22:05:27 OracleV4 kernel: [24501.278689] usb 2-5: configuration #1 chosen from 1 choice Dec 27 22:06:51 OracleV4 kernel: [24585.675234] usb 2-5: USB disconnect, address 10 Dec 27 22:07:02 OracleV4 kernel: [24596.604057] usb 2-5: new full speed USB device using ohci_hcd and address 11 Dec 27 22:07:02 OracleV4 kernel: [24596.826728] usb 2-5: configuration #1 chosen from 1 choice Dec 27 22:07:33 OracleV4 kernel: [24627.785055] usb 2-5: USB disconnect, address 11 Dec 27 22:07:41 OracleV4 kernel: [24635.672046] usb 2-5: new full speed USB device using ohci_hcd and address 12 Dec 27 22:07:41 OracleV4 kernel: [24635.894750] usb 2-5: configuration #1 chosen from 1 choice
Un saludo
pcscd deberÃa poner un mensaje cuando conectas el lector, después de que el núcleo diga lo de:
Dec 27 22:07:02 OracleV4 kernel: [24596.604057] usb 2-5: new full speed USB device using ohci_hcd and address 11 Dec 27 22:07:02 OracleV4 kernel: [24596.826728] usb 2-5: configuration #1 chosen from 1 choice
Es decir, parece que pcscd no se está ejecutando. Compruébalo:
pgrep pcscd
Si no sale nada, es que NO se está ejecutando. Prueba a ejecutarlo manualmente:
sudo pcscd
Entonces mira de nuevo si sale algún mensaje en el /var/log/messages referente al pcscd. Para que te hagas una idea, a mà me sale esto:
Dec 27 23:37:52 jorge-desktop pcscd: commands.c:954:CmdGetSlotStatus Card absent or mute Dec 27 23:38:53 jorge-desktop pcscd: last message repeated 155 times
Eso es sin meter el DNIe. Si metes el DNIe no dice nada, pero deberÃa encenderse el LED amarillo.
¿Has intentando otros métodos de instalación antes de seguir esta guÃa? ¿Es posible que hayas estropeado algo editando alguna configuración de forma manual?
No solo no está corriendo, es que dice que el comando pcscd no existe…
He comprobado que opensc está en Synaptic, y de hecho existe y esta bloqueado, tal y como dice el howto, e incluso, al intentar reinstalar el paquete, me dice que ya esta instalado en el sistema…
Pero la ruta /usr/lib/opensc* no existe, de modo que…
Un saludo
Disculpa que no haya contestado antes, estoy un poco liado. Si no existe el comando pcscd es porque no tienes instalado el paquete pcscd.
Me extraña, porque deberÃa haberse instalado por dependencias. ¿Los paquetes los has instalado haciendo doble clic sobre ellos o a mano con dpkg? Prueba a instalar pcscd, en cualquier caso:
sudo apt-get install pcscd
Una vez instalado a mano el paquete, tenemos que
bodescu@OracleV4:~$ pgrep pcscd 12825 bodescu@OracleV4:~$
Por lo que se entiende que esta UP and Running (ainsss, este KDE, que tiempos :P)
Metiendo el EDni padentro, parpadea, que ya es algo, y se queda fija en un rato…
Sin embargo, sigue sin reconocer los certificados, dado que no me pide ni pin de la tarjeta, ni, obviamente, me autentica contra un servicio de id por EDNI.
Un saludo
Y añado: http://pastebin.com/m60129512
Te agradezco la atencion que me prestas, no te preocupes si tardas mas o menos; tienes mas cosas que hacer… Supongo :P
Un saludo
Esa salida por consola es normal.
¿En la lista de dispositivos de seguridad aparece ya lo del “DNI electrónico (PIN1)”, no es asÃ?
Pruébalo por ejemplo con Caixanova. https://www.caixanova.es/ Dale a Acceder. Luego en la casilla del centro para acceder con el DNIe pon un número cualquiera y pulsa Acceder. DeberÃa pedirte el PIN y preguntarte si quieres usar el certificado de firma o el de autenticación.
Una vez pida el PIN deberÃa volver a parpadear y tarda un par de segundos al menos.
Si no te lo pide, tenemos que aumentar el nivel de debug en opensc para que nos cuente muchas más cosas. Edita (con permisos de root) el archivo /etc/opensc/opensc.conf y en las primeras lÃneas cámbiale debug=0 por debug=16 (creo que con ese valor bastará, aunque ahora mismo no encuentro los valores aceptados en la documentación).
Vale, reconoce el eDNI y pide su PIN. No lo acepta, eso si, pero pedirlo, lo pide :)
He ido con cuidado para no bloquear el cacharro, asi que no hay fallo por eso.
En Caixanova si que me pide el pin, igual que en algunos otros sitios, mayormente del estado y administraciones.
Sin embargo, en otros no lo pide, no lo lee, o no lo reconoce (que no tira, vaya…) asi que no se muy bien que pensar…
estare off hasta como poco el lunes que viene, de modo que no corre prisa. Disfruta de las fiestas, y haz tus cosas, que yo puedo esperar :D
Un saludo
No sé, ¿en qué sitios no te funciona? A lo mejor no están bien hechos. Si te lo pide pero no te lo reconoce, puede que esté bloqueado… A lo mejor con tanta prueba se bloqueó, conozco a gente que lo blqueó sin querer, no serÃas el primero.
No, no esta bloqueado: Bajo W7 funciona, ya te digo.
Mañana hago algunas pruebas complementarias y veo de comentar los resultados.
Un saludo
Siento el retraso. Cosas de las fechas, ya sabes :)
He probado el dispositivo contra el acceso a mi banco y funciona ok. Con otros sitios, a veces si, a veces no, pero es que eso tambien me sucede en W7, y por ello entiendo que es problema del site en si, y no del eDNI.
Gracias por tu ayuda, ha resultado muy util y esclarecedora.
En mi Synaptic no me da la opcion Bloquear Versión. Todavia no he conectado ningun lector por que aun no tengo ninguno. Estoy un poco “verde” con el terminal (y con el sistema en general). ¿Alguna sugerencia?.
Muchas gracias, en Ubuntu 10.04 (lucid) no me funcionaba la version 1.4.7-2 (Karmic), asi que he instalado la version para Jaunty (1.4.6-2) y bloqueado (como dices tu la actualizacion) y me ha funcionado a la primera. Un saludo y otra vez mil gracias