14 noviembre 2009

Configuración efectiva del lector de DNIe en Mac OS X

El día de ayer me llegó a casa mi lector de DNI electrónico (DNIe) que promocionó el Gobierno con ayuda de varias compañías entre las que se encontraba Tractis, a través de la cual había que solicitarlo pagando únicamente el importe del envío que ascendía a 2€. Aún quedan existencias en algunas Comunidades Autónomas pero en otras se han agotado. Si tienes mala suerte y ya no quedan en la tuya no desesperes pues parece que van a volver a sacar más en un futuro.

En lo referente a la instalación del lector debería ser un proceso sencillo para un ciudadano medio pero ha resultado ser un poco doloroso para alguien que sabe algo de informática como yo. Mi propósito es conseguir hacer un pequeño artículo uniendo información de diversas fuentes para que cualquier persona que use un Mac pueda tener más fácil todo el proceso de instalación del lector, configuración del ordenador y uso de los certificados. Además, aunque no prometo nada, intentaré documentar también la instalación en el Windows XP de mis padres, y en el Linux de mi hermano en siguientes artículos. Al grano.


Un poco de conocimiento
La tarjeta inteligente es un tipo especial de tarjeta la cual lleva embebida un circuito integrado. En el caso del DNIe ese chip almacena las claves públicas y privadas de dos elementos: una firma digital y un certificado digital, los cuales son expedidos por la Policía Nacional. En el caso de la firma digital acredita que somos nosotros los que firmamos algún tipo de documento. En el caso del certificado digital acredita que somos nosotros los que decimos ser.

A grandes rasgos las cláves públicas son conocidas por todo el mundo y están almacenadas por, entre otras, la Fábrica Nacional de Moneda y Timbre. En cambio las claves privadas se almacenan únicamente en nuestro DNIe y, como su nombre indica, nadie las conoce excepto su poseedor. Cuando firmas algo con tu clave privada sólo tu clave pública puede descifrarlo. Y al revés, si alguien firma algo con tu clave pública sólo tu puedes descifrarlo con tu clave privada.

Estas claves vienen cifradas y protegidas dentro de nuestro DNIe (por si lo perdemos o nos los roban) por otra clave llamada PIN, la cual no viaja por Internet sino que se usa en un diálogo entre el navegador y el lector impidiendo así que nadie pueda interceptar dicha comunicación.

Para leer este tipo de información necesitamos un software especializado en manejar encriptaciones, certificados digitales y firmas digitales y la herramienta escogida por el Gobierno Español ha sido OpenSC extendiendo su funcionalidad para el DNIe por medio de un driver el cual veremos más adelante cómo instalarlo.

Instalar el lector
Según esta página se han enviado varios modelos de lectores. En ella viene una pequeña ayuda para instalar el que te haya podido tocar a ti aunque por suerte para nosotros los "maqueros" Mac OS X reconoce los lectores de tarjetas inteligentes (que en última instancia es lo que és el DNIe) con lo que no necesitaremos hacer nada o casi.
Costar US777-A Slim Reader

Y digo casi porque puede que por desgracias del destino el lector que te ha tocado no lo reconoce tu Mac. Yo tuve suerte, me tocó un Costar US777-A Slim Reader: no hay que hacer nada para instalarlo.

Ahora necesitamos el software para hacer que funcione todo en nuestro Mac, para ello el gobierno nos habilita la siguiente página, aunque para seros sincero es una página un poco caótica y por lo tanto confusa.

Actualización Enero 2010: Si tienes el lector Bit4Id, echa un ojo a ésta página ya que necesita un driver.

Instalación de OpenSC
OpenSC mantiene una versión especial para Mac denominada "Apple Mac OS X Installer" o símplemente SCA. Su última versión estable a día de hoy es la 0.2.7 aunque no aconsejo su instalación ya que a mi personalmente no me funcionó. En vez de ella el Gobierno aconseja la versión 0.2.2 para Tiger, y 0.2.3pre2 para Leopard y Snow Leopard. Yo usé ésta última en el Snow Leopard de mi MacBook, y en el Leopard de mi iMac G5 funcionando perfectamente.
  1. Lo primero que haremos es descargar una de las dos versiones anteriormente mencionadas (la que nos corresponda) al disco duro de nuestro Mac.

  2. Abrimos el fichero .dmg descargado.
  3. Ejecutamos el fichero sca.mpkg el cual nos guiará a través de una instalación. Nos pedirá la clave de administrador, es normal, no os preocupéis.

Con estos tres pasos tenemos instalado OpenSC para Mac. Ahora el siguiente paso a realizar es instalar el driver del DNIe.

Instalación del driver oficial para el DNIe
La última versión la podréis encontrar aquí. En el momento de este escrito era la 1.4.4.4. Como antes, los pasos los detallo a continuación pero antes he de advertir que estéis preparados para un reinicio del Mac pues aunque el driver sólo nos obliga a un reinicio de sesión y al haber instalado previamente OpenSC es mejor hacer un reinicio limpio para que todo esté cargado en el sistema.
  1. Descargamos el fichero opensc.dnie-1.4.4.4.dmg al disco duro de nuestro Mac.


  2. Abrimos el fichero .dmg descargado.

  3. Ejecutamos el fichero opensc_dnie-1.4.4.4.pkg el cual es una instalación corriente. Nos avisará de que cerrará la sesión de usuario. Además nos pedirá una vez la clave de administrador, la cual se la daremos con total tranquilidad pero no déis al botón de la última ventana que dice "Desconecta" hasta haber leído todos los pasos de abajo.

  4. Como hemos dicho antes, damos al botón "Desconecta" y nos cierra la sesión.


  5. En vez de volver a entrar damos al botón de reiniciar el equipo.

  6. Entramos en nuestra sesión y seguimos leyendo más abajo para terminar la instalación. ¡Ya queda menos!
Llegados a este punto se puede decir que la instalación del software se ha terminado y podemos probar si todo funciona correctamente.

Comprobar funcionamiento del lector

Abre un Terminal (Aplicaciones -> Utilidades -> Terminal) y escribe lo siguiente (puedes copiar y pegar):

/Library/OpenSC/bin/opensc-tool -l

Si el lector te lo ha reconocido tiene que listarlo en algo como ésto (el nombre del dispositivo puede variar dependiendo del modelo):
En cambio si te sale la siguiente pantalla es que no se ha reconocido tu lector (o no lo has enchufado). Para posibles resoluciones a tu problema visita la siguiente página.

Comprobar el funcionamiento del driver DNIe

Seguimos con el Terminal abierto y escribimos lo siguiente:

/Library/OpenSC/bin/opensc-tool -D

En la lista que sale debemos fijarnos que aparece la del DNIe.

Ahora introducimos nuestro DNIe en el lector y tecleamos lo siguiente en el Terminal:

/Library/OpenSC/bin/pkcs15-tool --list-public-keys

Dicho comando os debería sacar dos claves públicas, una para la firma digital y la otra para la autentificación. Si no os sale nada comprobad que está bien metido vuestro DNIe o visitar la página.

Configuración de Firefox
La versión de Firefox que estoy probando es una 3.5.4, pero debería funcionar para cualquier versión de la 2 y la 3.
  1. Abre con Firefox la siguiente dirección: file:///Library/OpenSC/share/web/instala_modulo.htm (o file:///Library/OpenSC/share/web/instala_modulo_f3.htm con sca-0.2.3pre2) y mantenla en una pestaña. Si has tenido más suerte que yo, con este simple paso ya tendrás instalado OpenSC en Firefox y podrás saltar al paso 6. Si no es así sigue al paso 2.

  2. Abre el panel de preferencias (Firefox -> Preferencias...) y selecciona la sección "Avanzado" y dentro de esa sección la pestaña Cifrado.
  3. Selecciona el botón "Dispositivos de seguridad"
  4. Damos al botón "Cargar" y especificamos (a mano, si no dará fallo) la siguiente ruta /Library/OpenSC/lib/opensc-pkcs11.so y le daremos el nombre de "DNIe" o el que más rabia te dé. Nota: Si usáis Firefox 4 en su versión de 64 bits y os falla este paso según lo que comenta Lo más abajo, id al paso 5, si no saltad al paso 6.

  5. Si estáis aquí es porque no habéis podido instalar el dispositivo de seguridad. Abrid un terminal y ejecutad el siguiente comando, abrirá Firefox en modo 32 bits y podréis configurar todo.

    arch -i386 /Applications/Firefox.app/Contents/MacOS/firefox-bin

  6. Nos aseguramos que en la ventana de preferencias avanzadas de Firefox esté seleccionada la opción de que siempre nos pregunte ante un requerimiento de nuestro cifrado personal.
  7. Ahora necesitamos instalar el Certificado Raíz que encontraremos en la página que abrimos en el paso 1: ACRaiz.crt. Lo descargamos a un lugar de nuestro disco duro con botón derecho -> "Guardar enlace como". Recordad su ubicación.
  8. Abrimos de nuevo la ventana de preferencias y ahora damos al botón "Ver certificados"

  9. Vamos a la pestaña de "Autoridades" y pinchamos en "Importar...". Seleccionamos el fichero que nos hemos descargado en el paso 7.

  10. En la siguiente ventana seleccionamos las tres casillas de "Confiar..." y aceptamos.

Con estos pasos estamos preparados para probar nuestro DNIe ¿cómo?

Probando el DNIe
  1. Abre la página de prueba del DNIe en el navegador web: http://www.dnielectronico.es/como_utilizar_el_dnie/verificar.html
  2. Mete tu DNIe en el lector.
  3. Ve hasta el final donde hay un enlace que pone"Comprobación de certificados" y pincha. Si no tenemos el DNIe en el lector nos dará error.
  4. Si todo va bien nos pedirá nuestro pin (si no lo sabes en esta página te dice como recuperarlo)

  5. Una vez introducido nos solicitará un certificado. Aquí debemos seleccionar el certificado de autenticación (CertAutenticacion), no el de la firma electrónica (CertFirmaElectronica), y nos saldrá una página como la siguiente.

  6. Ahora podemos probar qué tal funciona nuestra firma electrónica... escribe algo en "Indtroduzca los datos a Firmar:" que verás casi al final de la página y luego dale a firmar.
  7. Nos pedirá otra vez nuestro código PIN. Lo introducimos.
  8. Nos pide confirmación para usar la firma electrónica. Le damos a OK y verás en la caja de texto inferior nuestro mensaje firmado con nuestra firma digital el cual sólo podrá ser descifrado con nuestra clave pública, dando fé así que hemos sido nosotros los que hemos escrito ese texto.




Creative Commons License
Esta obra está bajo una licencia de Creative Commons.

Leer la pencada completa...