3 de diciembre de 2011

Peleando con Gentoo y con el DNI-E (3/3)


conjuntoEntradas() {
  Peleando con Gentoo y con el DNI-E (1/3)
  Peleando con Gentoo y con el DNI-E (2/3)
  Peleando con Gentoo y con el DNI-E (3/3)
}

Configurando Firefox

La configuración de Firefox, es muy simple, pero a mí me toco el gordo; están fácil como ir al menú “editar → preferencias”, en el cuadro de dialogo ir a la sección “Avanzadas” y allí pulsar sobre el botón “Dispositivos de seguridad” y luego botón “cargar” y en el cuadro de dialogo poner el nombre que queramos para el módulo (¿DNI-E?) e indicar la ruta a la librería (*.so) del módulo PCKS#11, en este caso el del opensc-dnie.
Probar que funciona con una web que se solicité el DNI-E, como la de test que ofrecen la FNMT.

Porque me toco el gordo a mí, pues porqué por algún motivo el Firefox 6.0 que tenía instalado, el paquete binario, cuando lo indicaba que utilizase el módulo PKCS#11, decía algo así como que no era apropiado; me rompí la cabeza mirando, volviendo a mirar, probando, volviendo a probar y aunque se me había pasado por la cabeza ya en varias ocasiones quitar la instalación del paquete binario e instalar el paquete convencional (el que se descarga el código fuente y lo compila) no lo hice y continué probando hasta que ya estando muy cansado decidí hacer, como última prueba antes de abandonar, esa sustitución que acabo de mencionar y hecho y resuelto.

Me cagué en todo, pero realmente estaba contento porque por fin funcionaba sobre Firefox y podía hacer los putos trámites con la pu.. AEAT.

Cambiando el PIN con el PAD Virtual

Otra de las cosas que me interesaba hacer es cambiar el PIN del DNI-E que me habían dado cuando me lo dieron, ya que la secuencia aleatoria generada es poco probable que la pueda memorizar por mucho tiempo, ya que es algo que por ahora, tampoco uso muy a menudo; además el PIN proporcionado es una cadena de caracteres demasiado corta para mi gusto.

Para hacer este cambio, según explican en la Web del DNI-E, tienes dos opciones, o te vas a las comisarias a cambiarlo a través de las maquinitas que tienen allí o lo cambias con un aplicación que llaman PAD Virtual y que puedes descargar de aquí.

Como el tiempo no me sobra mucho, y al ver que estaba hecha en JAVA, di por supuesto que no me iba a llevar mucho trabajo utilizarla, ya que siendo multiplataforma con descargarlar y ejecutarla y seguir en siguiente, siguiente, siguiente.... finalizar podía hacer el cambio.

Pues bien, la descargué y la ejecuté, y se abrió el típico dialogo de siguiente, siguiente, siguiente... finalizar, no obstante el intento fue decepcionante, ya que llegué a un punto que apareció el siguiente error:

Mensaje de error en la aplicación PAD virtual al intentar utilizarla

Y verdaderamente después de buscar el error en Google, yo no he encontrado de manera rápida, cual puede ser el problema, así que decidí, en aquel momento, resignarme a cambiar el PIN desde mi máquina que funciona con Gentoo.


Hasta la proxima enfermos.

Peleando con Gentoo y con el DNI-E (2/3)


conjuntoEntradas() {
  Peleando con Gentoo y con el DNI-E (1/3)
  Peleando con Gentoo y con el DNI-E (2/3)
  Peleando con Gentoo y con el DNI-E (3/3)
}

El driver del DNI-E

Leyendo la información de la instalación de la wiki del CENATIC te indican instalar la versión de opensc generada para el DNI-E y antes de ellos desinstalar, si es el caso, la versión anterior o cualquier otro versión de opensc.

Como ya era de esperar, no obstante no costaba nada hacer una búsqueda, en el portage no hay ni rastro del DNI-E, si que lo hay de opensc, pero no nos sirve si queremos seguir las recomendaciones.

Así que me puse a seguir los pasos que se indican en la wiki del CENATIC y los que seguí al pie de la letra no comento, ya que e mejor consultarlos directamente.

En mi caso cuando llegué al paso de configurar la compilación, opté por cambiar las rutas en las que se instala la librería por defecto; lo hice así porque como me gusta complicarme la vida y no me gusta mucho donde se instalan por defecto las cosas que no instalo directamente del portage, ya que luego puedo tener un lió de sobreescritura de ficheros, colisiones entre versiones, etc., si un día optó por instalar lo mismo desde el portage, es decir que lo cambié y lo configuré para que se instalara en /opt y todo colgara de ese directorio.

bash$ ./configure –prefix=/opt/dnie


Después a compilar la aplicación con el clásico make y la instalación con make install y ha probar si todo este berenjenal funciona.
Algo que ya podíamos esperar es que si intentamos ejecutar un comando de las herramientas del opensc-dnie desde un terminal, es que el sistema no encontrara el comando, ya que como le he cambié la ruta por defecto, y no lo metí en las clásicas rutas donde Linux busca por defecto los ejecutables, el sistema no los encontraba.

bash$ dnie-tool -d -w
-bash: dnie-tool: command not found


Así que tenemos que tocar un poco las configuraciones del sistema para que éste busque los nuevos ejecutables que hay en esa nueva ruta.

Una opción para no tener que alterar las configuraciones del sistema es hacer un symlink a cada uno de los ejecutables en el directorio por defecto de la instalación, pero eso es una faena y si encima un día lo cambias de ubicación te toca reenlazarlos todos de nuevo; por este motivo opté por cambiar la configuración del sistema, además que para este tipo de cosas, Gentoo, ofrece una manera de poder añadir estos directorios sin la necesidad de modificar el fichero que configura el valor de la variable PATH a nivel general del sistema y tampoco tener que configurar el valor en un fichero en el HOME del usuario, algo que a mí no me mola mucho si son ejecutables que se han instalado a nivel global de la máquina, es decir no es una aplicación instalada en el propio HOME del usuario.

¿Como se hace esto? Pues bién, el handbook de Gentoo lo explica muy bien aquí en el apartado 5.b.

En mi caso lo que hice es crear un fichero, en /etc/env.d, llamado 999Opensc-dnie con el contenido siguiente:

PATH="/opt/dnie/bin" 
LDPATH="/opt/dnie/lib" 
MANPATH="/opt/dnie/share/man"

Luego ejecuté los comandos env-update && source /etc/profile que nos permiten releer las variables de entorno del sistema sin la necesidad de tener que reiniciar la sesión o el sistema, y como bien se refleja en el handbook:

Y de nuevo a probar.


bash$ dnie-tool -d -w
Waiting for a card to be inserted...
DNIe Number: NNNNNNNNX
SurName: FRAIXEDES
Name: IVAN SERGIO


Ahora sí, ya era hora.

En la siguiente entrada comentaré, la parte más sencilla, como integrar esto en Firefox para poder utilizarlo en el acceso a las Webs del estado Español que permiten hacer trámites con el DNI-E.

Hasta la proxima enfermos.