En mi anterior post veíamos cómo Instalar driver Omnikey CardMan 2020 usb. En éste vamos a darle utilidad a éste lector de tarjetas.
Esta parte me costó más de conseguir, y no fue por ganas. Fue por el software privativo. Me explico. La tarjeta que expide la ACCV utiliza el estándar PKCS#11 (hasta ahí bien). Pero accede a ése estándar a través de un API propietario (Siemens CardOS API). Cuando adquieres el lector, éste viene con un cd donde se encuentra este API (intentad buscarlo por internet, es complicadísimo encontrar un enlace de descarga), aunque solamente está para Window$.
Por suerte, en mi trabajo tenemos (aunque yo no lo sabía) contacto con gente de Siemens, que están bastante dispuestos a ayudar. Pues bien, perfecto, Siemens tiene un driver de la tarjeta para Linux, pero con un pequeño problema. No se puede distribuir, salvo que tengas una licencia del CardOS API (en el cd que viene con la tarjeta tienes una licencia, ¡Yuju!).
Una vez conseguido el API para Linux la instalación es muy sencilla:
- Se copia el archivo .tgz en la raiz del sistema (/)
- Se descomprime el archivo: tar xvzf archivo.tgz
Con esto ya podemos utilizar la tarjeta criptográfica en Linux. Los pasos para utilizar cualquier tarjeta criptográfica (soportada en Linux) serían prácticamente los mismos. Si tenéis suerte vuestra tarjeta puede estar soportada por el proyecto OpenSC (aunque parece que tiene problemas con su dominio...). Soporta muchos tipos de tarjetas y trata de ser un API estándar para acceder a tarjetas criptográficas.
Preparar las aplicaciones
Ahora detallaré los pasos a seguir para utilizar la tarjeta criptográfica con los programas que más utilizamos (en mi caso Firefox, Evolution).
En primer lugar vamos a hacer un pequeño hack (si es correcto llamarlo así). Estas aplicaciones que he comentado tienen un punto en común a la hora de utilizar los certificados de la tarjeta; utilizan la librería NSS (Network Security Services) de Mozilla. Esto es importante porque en un principio ni Evolution, ni OpenOffice.org tienen un mecanismo para cargar certificados desde un lector de tarjetas. Así vamos a realizar los pasos siguientes:
- Creamos un directorio en nuestro home:
# mkdir .certs-db
- Copiamos en esa carpeta los siguientes archivos del directorio de Firefox: cert8.db, key3.db, secmod.db
# cp .mozilla/firefox/
.default/cert8.db .certs-db # cp .mozilla/firefox/ .default/key3.db .certs-db # cp .mozilla/firefox/ .default/secmod.db .certs-db - Creamos enlaces simbólicos en Firefox y en Evolution:
# ln -sf /home/
/.certs-db/cert8.db /home/ /.evolution/cert8.db # ln -sf /home/ /.certs-db/key3.db /home/ /.evolution/key3.db # ln -sf /home/ /.certs-db/secmod.db /home/ /.evolution/secmod.db # ln -sf /home/ /.certs-db/cert8.db /home/ /.mozilla/firefox/ .default/cert8.db # ln -sf /home/ /.certs-db/key3.db /home/ /.mozilla/firefox/ .default/key3.db # ln -sf /home/ /.certs-db/cert8.db \ /home/ /.mozilla/firefox/ .default/secmod.db
Así, los certificados que añadamos a Firefox nos servirán para Evolution. Igual que con las tarjetas criptográficas. Los módulos de tarjetas que añadamos a Firefox los podremos utilizar en Evolution.
Instalar el módulo de la tarjeta en Mozilla Firefox
Para instalar el módulo de la tarjeta en Firefox seguiremos los siguientes pasos:
- Arrancamos Firefox.
- Elegimos: Editar->Preferencias
- Seleccinamos: Avanzadas
- Desplegamos: Certificados
- Presionamos sobre Administrar dispositivos de seguridad...
- Elegimos Cargar, le damos un nombre descriptivo (en mi caso Siemens CardOS API) y elegimos el módulo que queremos cargar. Si utilizásemos OpenSC, por ejemplo, elegiríamos /usr/lib/pkcs11/opensc-pkcs11.so.
- Aceptamos y ya está. Si accedemos a Administrar certificados nos pedirá la clave de nuestra tarjeta.
Ahora, si ejecutamos Evolution y mostramos los certificados, igualmente, nos pedirá el pin de nuestra tarjeta y podremos utilizarla con éste programa.