Instalar tarjeta Siemens CardOS M4.01a (SLE66CX322P) en Firefox Linux

nullEste fin de semana no he tenido demasiado tiempo pero, el poco que he tenido, lo he invertido en conseguir hacer funcionar la tarjeta Siemens que utilizo en el trabajo con el lector Tractis que ha estado regalando Red.es.

Y es que me falta un año para renovar el DNI y obtener un DNIe por lo que la única posibilidad de darle algún uso al lector ha sido gracias a la gente de microinformática de la Consejería de Educación que han tenido la gentileza (gracias David) de almacenar en la tarjeta de acceso mi certificado digital (se acabó llevarlo en el pendrive y el riesgo de dejármelo instalado en cualquier equipo en el que lo use)

Estado del arte

Y es que existe infinidad de páginas web en las que te enseñan cómo configurar el lector de DNI electrónico que ha entregado la empresa Tractis en cualquiera de los sistemas operativos más utilizados pero para la M4.01a sólo he encontrado instrucciones en:

  1. Neonigma. Donde explican cómo instalar los drivers tanto para el lector Omnikey 3121 (el que utilizo en el trabajo) como para la Siemens CardOS (no me funciona)
  2. Vradick. Qué explica cómo utilizar la tarjeta [gracias compañero por hacer de brújula cuando estaba perdido ;)]

Un ejemplo de los inconvenientes del software privativo

Y es que, como bien indica Vradick, los drivers para la Siemens CardOS vienen compilados para versiones antiguas del software (y no proporcionan el código fuente bajo ningún concepto):

  • kernel 2.6.22 (a día de hoy el kernel de Ubuntu 9.10 es el 2.6.31_15 lo cual implica gran cantidad de cambios e incompatibilidades)
  • librería glibc 2.6.21 (actualmente la 2.10)
  • pcsc 1.5.1 (vamos por la 1.5.3)

En definitiva: que no da ni una y los autores no tienen la intención de actualizar el driver para Linux (aquí es donde brilla con luz propia el Software Libre)

¿Dónde obtener los drivers (sólo binarios) para la tarjeta?

Pues aunque cuesta encontrarlos en Internet (por las restricciones de distribución impuestas por Siemens) hay varias formas de conseguirlos:

  1. En el cdrom que venía con los lectores 3121 de Omnikey regalados por el SAE (INEM)
  2. En la web de la Autoritat de Certificatió de la Comunitat Valenciana.
  3. En el paquete HiPath SIcurity CardOS smart cards API que aparece en los repositorios de Guadalinex.

¿Cómo instalar los drivers?

Pues depende de cómo los hayas conseguido 😉

HiPath SIcurity CardOS smart cards API

Si has obtenido el .deb de los repositorios de Guadalinex no tienes más que instalar el paquete utilizando GDebi o bien un simple

dpkg -i *.deb

en el directorio donde lo hayas descargado.

Archivo comprimido con los drivers

Tanto si lo has obtenido del cdrom que traía los lectores Omnikey como si has descargado el cdrom de la web de la Comunitat Valenciana deberás buscar el fichero

CardOS_API_V3_2_22_Linux2_6_22_glibc2_6_1_pcsc1_5_1.tar.gz

y descomprimirlo (como superusuario o root) en el directorio raíz del sistema.

Lo siento pero es así de “cutre” la “instalación” del mismo 🙂

Cómo hacer que funcione el driver

Como era de esperar no va a ser tan sencillo como descomprimir: el estar compilado para unas versiones de librerías del sistema y kernel tan antiguas hace que no sea totalmente compatible con nuestro sistema.

Para hacerlo funcionar deberemos solucionar las dependencias a librerías que no cumple nuestro equipo.

Para averiguar las dependencias que nos faltan debemos lanzar el siguiente comando desde la terminal (gracias Pepe por recordarme que existe este comando en Linux, me has abierto un balcón a un inmenso abanico de posibilidades)

ldd /usr/local/lib/libsiecap11.so

en mi equipo portátil me he encontrado con lo siguiente (en el sobremesa del trabajo variaban las librerías que faltaban pero la idea es la misma)

null

sólo queda, para cada entrada marcada como not found:

Instalar librerías que no tengamos

Puedes buscar en Synaptic para ver si están instaladas. En mi caso me ha tocado hacerlo con pcsclite.

null

Crear enlaces simbólicos

Nos tocará hacerlo si no tenemos la versión correcta de determinado paquete o librería. En mi caso, tras instalar pcsclite sólo tenía en el disco duro el fichero /usr/lib/libpcsclite.so (puedes usar un find /usr -name libpcsclite* para localizarlo) mientras que el driver espera /usr/lib/libpcsclite.so.0.

Para solucionarlo creamos el enlace simbólico lanzando

sudo ln -s /usr/lib/libpcsclite.so /usr/lib/libpcsclite.so.0

Configurar dispositivos de seguridad en Firefox

Aunque es algo ya documentado en diversos blogs y foros voy a hacer mi propia versión al haberme dado problemas y errores que son fáciles de sortear siguiendo los pasos que voy a indicar.

  1. En las preferencias de Firefox pulsamos el botón para configurar los dispositivos de seguridad null
  2. Cargar el nuevo dispositivo seleccionando la entrada PKCS #11 y pulsando el botón Cargar null
  3. Indica la ruta al driver (/usr/local/lib/libsiecap11.so) que hemos estado configurando null

Conclusión

A pesar de las trabas que supone no contar con el código fuente y la dejadez por parte de sus autores de no publicar actualizaciones para el driver de la smartcard Siemens CardOS M4.01a (y compatibles) no ha resultado, por esta vez, demasiado complicado hacerla funcionar en nuestro querido Ubuntu Linux.

No creo que os resulte demasiado complicado

  • la configuración de los lectores de Tractis (GemPC Twin SmartCard Reader) o cualquier otro pues para existe gran cantidad de información en la red
  • probar que vuestro certificado funciona correctamente tanto para la autenticación como la firma bajo Linux.

No obstante y, como suele ser habitual, si alguien tiene problemas no tiene más que preguntar en los comentarios o enviarme un correo a través del soporte técnico del blog que encantado le ofreceré la ayuda que buenamente sepa y/o pueda prestarle.

9 comentarios en “Instalar tarjeta Siemens CardOS M4.01a (SLE66CX322P) en Firefox Linux

  1. UB40 dijo:

    Existen actualmente varios problemas, en mi modesta opinión, con los lectores y tarjetas que “regaló” hace poco tiempo el SAE. Por un lado, la tecnología de la web del SAE está algo obsoleta y no va bien con las últimas versiones de los sistemas operativos y navegadores. Eso por no hablar de la “dll” que no sé por qué te deja en el escritorio, en el caso de Windows, de siempre.
    Por otro, no podemos acceder a nuevas versiones de controladores y programas para gestionar la tarjeta y el tarjetero porque hace años que finalizó el contrato entre el SAE y la empresa que los suministró. El principal problema lo tenemos con las tarjetas porque no hay forma de que te faciliten actualizaciones para el “HiPath SIcurity Card API” de Siemens, a no ser que el SAE renueve el contrato. Lo propio cuando hablamos de software propietario.
    En conclusión, opino que dentro de poco todo el gasto de dinero público en sistemas de firma electrónica a la basura porque no tenemos soporte ni actualizaciones. La tarjeta criptográfica al cajón y a comprar otra porque cada vez serán más los que no puedan renovar la demanda y hacer otras gestiones por Internet con la misma.

  2. Claudio dijo:

    Muy buenas las instrucciones, solo falta el comando “ln” después de “sudo” en la línea sudo -s /usr/lib/libpcsclite.so /usr/lib/libpcsclite.so.0

    • En prinicipio debería funcionar igualmente en un amd64 no obstante, tendré que abordar el tema en el portátil nuevo cuando solucione otros temas que ahora tienen más prioridad.
      Cuando me toque echarle un vistazo a los certificados te doy un toque si encuentro una solución más interesante, ¿te parece?
      Salu2

  3. Aqui estoy en el año 2013 buscando la manera de que funcione un lector cherry integrada en teclado con una tarjeta siemens en un Ubuntu 13.04 de 64bits y he caido por aqui.

    ¿alguna nueva solucion para 64bits que funcione? Yo he hecho en enlace de la libreria pero el ldd sigue diciendo que libpcsclite.so.0 => not found

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s