Cómo configurar Firma Digital de Costa Rica en GNU/Linux Fedora 23

Actualización 2: esta guía ha quedado obsoleta, se recomienda seguir la guía para Fedora 24, que probablemente también funcione para Fedora 23, incluye cómo instalar los certificados y funcionalidad para todos los usuarios del sistema.

Actualización: la configuración del XML de esta guía ya no es necesaria si se instala el RPM del nuevo instalador que proporciona el centro de soporte de Firma Digital. Antes el instalador solamente incluía paquetes DEB.

Requerimientos

Instalar el controlador del lector de tarjetas y sus dependencias:

sudo dnf -y install pcsc-lite-ccid

Iniciar el servicio pcscd si no lo está:

sudo systemctl start pcscd

Para asegurarse de que el servicio pcscd se inicie al arrancar el sistema:

sudo systemctl enable pcscd

Descarga

Descargar el “instalador” para usuarios Linux en la sección de descargas del centro de soporte de Firma Digital y descomprimir el zip.

Solución de problemas

Para que el módulo PKCS#11 funcione correctamente con las tarjetas inteligentes de Firma Digital más recientes se tiene que crear un archivo XML en una ruta específica del sistema:

sudo mkdir /etc/Athena
sudo gedit /etc/Athena/IDPClientDB.xml

En la ventana del editor de textos gedit, pegar el siguiente texto:

<?xml version="1.0" encoding="utf-8" ?>
<IDProtect>
 <TokenLibs>
  <IDProtect>
   <Cards>
    <IDProtectXF>
     <ATR type='hexBinary'>3BDC00FF8091FE1FC38073C821106600000000000000</ATR>
     <ATRMask type='hexBinary'>FFFF00FFF0FFFFFFFFFFFFFFFFF0FF00000000000000</ATRMask>
    </IDProtectXF>
   </Cards>
  </IDProtect>
 </TokenLibs>
</IDProtect>

Guardar. Ahora ya está lista para probar.

Se pueden seguir los pasos de configuración del módulo indicados en el sitio web del centro de soporte de Firma Digital para Firefox si así se desea.

Prueba

Para comprobar por línea de comandos si el módulo PKCS#11 reconoce la tarjeta:

Instalar el paquete opensc, que proporciona la herramienta pkcs11-tool:

sudo dnf -y install opensc

Realizar una prueba de listado de objetos, que pedirá el PIN:

pkcs11-tool --module "~/Descargas/Firma Digital/Firma Digital/Libreria/x64/libASEP11.so" -l -O

Reemplazar la ruta hacia libASEP11.so del ejemplo por la adecuada.

Si funcionó correctamente deberá mostrar que existen 2 certificados y 2 claves. Ejemplo de la salida:

Using slot 0 with a present token (0x0)
Logging in to "IDProtect#XXXXXXXXXXXXXXXX".
Please enter User PIN:
Certificate Object, type = X.509 cert
label: XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXXX
ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Certificate Object, type = X.509 cert
label: XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXX
ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Private Key Object; RSA
label: XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXXX
ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Usage: decrypt, sign
Private Key Object; RSA
label: XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXX
ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Usage: sign

Deja un comentario

Tu dirección de correo electrónico no será publicada.