Archivo de la etiqueta: DNIe

Instalación DNI electrónico en Debian 5.0 AMD64

Bueno, parece que el DNI electrónico está dando algún que otro problemilla al instalarse… de hecho, no he encontrado equipo ni en Windows ni en Linux que funcione tras haber seguido por completo la guía del gobierno. En este caso, la instalación se va a realizar sobre una Debian 5.0 AMD64, pero para la distribución de 32 bits el procedimiento debería ser parecido. Para empezar, necesitaremos dos ficheros de la web oficial (http://www.dnielectronico.es):

  • Los módulos criptográficos para Debian/AMD64. Se encuentran en el Área de descargas > Sistemas GNU/Linux y MacOS > Software para las distribuciones Linux > opensc-dnie_1.4.6 > Arquitectura_64bits > Debian_Lenny-64bits.
  • El certificado raíz de la policía. Está en Área de descargas > Certificados x509 > AC Raíz y bajamos el certificado sha256.

Una vez que los tengamos, el procedimiento de instalación sería algo así:

  • Lo primero, se descomprime en un directorio temporal el certificado raíz y los módulos criptográficos:
    unzip ACRAIZ-SHA2.zip
    tar -xvf Debian_Lenny_opensc-dnie_1.4.6-2_amd64.deb.tar
  • Instalamos pcscd y libltdl3. Sus dependencias instalarán la mayoría de los paquetes que nos harán falta, y además el lector no parece funcionar sin pcscd (esto NO viene mencionado en la guía de instalación).
    apt-get install pcscd libltdl3
  • Después, borramos (si hubiera) otros módulos de opensc. Esto es muy importante, ya que los paquetes más modernos no funcionarán.
    apt-get --purge remove libopensc2 opensc opensc-dnie
  • Procedemos a la instalación de los módulos criptográficos mediante dpkg.
    dpkg -i libopensc2_0.11.7-7_amd64.deb
    dpkg -i opensc_0.11.7-7_amd64.deb
    dpkg -i opensc-dnie_1.4.6-2_amd64.deb

Después de esto, el lector debería ya estar operativo.  Lo podemos confirmar usando opensc-tool -l (para que nos liste los lectores instalados) y opensc-tool --reader (nos dará el número de serie del DNI electrónico). Si en algún paso da error, es que alguno de los paquetes no está instalado. Los errores que he visto yo han sido causados por no tener instalado pcscd y porque las versiones de opensc no son las debidas (me sigo preguntando por qué no funcionan las más recientes).

Como hemos visto al instalar opensc-dnie, se nos indica que ejecutando cierto programa Firefox estará ya preparado para operar con el lector. Ni caso. Es una mentira más, no me ha funcionado nunca. Los pasos para que Firefox funcione son los siguientes:

  • Instalar el certificado de la policía. Iniciamos Firefox y vamos a Editar > Preferencias > Avanzado > Cifrado > Ver Certificados. Ahí elegimos Autoridades y pulsamos sobre el botón de Importar. Elegimos el fichero .crt que hemos conseguido, marcamos todas las casillas de la ventana que aparece y le damos a Aceptar. En la lista de autoridades debería aparecer una entrada de la DIRECCION GENERAL DE POLICIA. Cerramos el administrador de certificados.
  • Instalar el módulo criptográfico. En la misma pestaña de Cifrado, pulsamos sobre el botón Dispositivos de seguridad y sobre el botón Cargar. En nombre del módulo escribimos DNI electrónico, y en archivo del módulo elegimos /usr/lib/opensc-pkcs11.so (o lo buscamos con el navegador). Aceptamos todo y reiniciamos el navegador.

Si todo ha ido bien, la siguiente vez que vayamos al administrador de certificados nos pedirá el PIN del DNI electrónico. Una vez introducido, podremos ver en la lista de certificados los dos certificados asociados a nuestro DNI. Ya solo quedan los últimos detalles.

Para que todo esto funcione, le hemos suministrado unos paquetes con unas versiones muy concretas de opensc y libopensc2. Cuando actualicemos la distribución, va a intentar actualizar esos paquetes, con lo que el DNI electrónico dejará de funcionar. Para evitarlo, debemos bloquear esos paquetes. Un método como cualquier otro es soltarle estas tres instrucciones:

  • echo libopensc2 hold | dpkg --set-selections
  • echo opensc hold | dpkg --set-selections
  • echo opensc-dnie hold | dpkg --set-selections

Esto evitará que apt-get actualice los paquetes. En caso de que se publiquen nuevas versiones, bastará con bajarlas de la página oficial e instalarlas con dpkg (aunque no sé si al hacerlo se retirará la marca de “hold” de los paquetes).