Esta guía documenta cómo instalar el controlador de la tarjeta de Firma Digital de Costa Rica y la jerarquía de certificados del Banco Central (SINPE) y del MICITT en el sistema operativo Fedora de arquitectura Intel de 64 bits (x86_64).

El motivo de esta nueva guía de instalación tenía los siguientes propósitos:

Instalación de las dependencias

# dnf -y install pcsc-lite-ccid icedtea-web icecat java-1.8.0-openjdk-openjfx

# systemctl start pcscd.socket

Descarga del “instalador”

Desempaquetado del “instalador”

$ cd ~/Descargas

$ unzip sfd_ClientesLinux_Rev09.zip

Instalación de los certificados

Es necesario agregar a la lista de confianza la jerarquía de certificados del SINPE y del MICITT. Para ello, un par de comandos:

# cp ~/Descargas/Firma\ Digital/Certificados/* /usr/share/pki/ca-trust-source/anchors/
# update-ca-trust

Instalación del módulo PKCS#11

Aunque hay un módulo en el directorio Librerías, no es la versión más reciente y tiene varios defectos de enlazado. La versión distribuida en el paquete PinTool es más reciente y funciona correctamente en todos los programas probados. En el siguiente proceso se extrae y se instala conservando la fecha original de la librería y con los permisos correctos de usuario y de SELinux.

$ cd ~/Descargas/Firma\ Digital/PinTool/IDProtect\ PINTool\ 6.41.01/RPM

$ rpm2cpio idprotectclient-641.01-0.x86_64.rpm | cpio -dim ./usr/lib/x64-athena/libASEP11.so
# mv usr/lib/x64-athena/libASEP11.so /usr/lib64/pkcs11/

# chown root:root /usr/lib64/pkcs11/libASEP11.so

# chmod 755 /usr/lib64/pkcs11/libASEP11.so

# chcon system_u:object_r:lib_t:s0 /usr/lib64/pkcs11/libASEP11.so
# ln -s /usr/lib64/pkcs11/libASEP11.so /usr/lib64/

# ln -s /usr/lib64/pkcs11/libASEP11.so /usr/lib/

# mkdir -p /usr/lib/x64-athena/

# ln -s /usr/lib64/pkcs11/libASEP11.so /usr/lib/x64-athena/
# mkdir -p /Firma_Digital/LIBRERIAS/

# ln -s /usr/lib64/pkcs11/libASEP11.so /Firma_Digital/LIBRERIAS/

# ln -s /usr/share/pki/ca-trust-source/anchors/ /Firma_Digital/CERTIFICADOS
# mkdir /etc/Athena/

# gedit /etc/Athena/IDPClientDB.xml
<?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>
# gedit /etc/pkcs11/modules/firmadigital.module
module: libASEP11.so
# alternatives --install /usr/lib64/libnssckbi.so libnssckbi.so.x86_64 /usr/lib64/p11-kit-proxy.so 50

Eso es todo. Es necesario reiniciar Firefox, Evolution y cualquier otra aplicación que use certificados para que se apliquen los cambios. Si se ha insertado el lector y la tarjeta al lector, estas aplicaciones preguntarán por el PIN, lo que indicará que se la instalación ha sido exitosa.

Si el componente de firma del Banco Central está instalado debería funcionar para poder realizar la prueba de firma. El sitio web de Soporte Firma Digital podría usar todavía la prueba de Java y en este caso solamente funciona con el navegador Icecat. Icecat incluye varias extensiones que bloquean JavaScript y hay que desactivarlas para poder navegar en la mayoría de sitios y para poder firmar. En la página de prueba de firma con Java, si a la hora de firmar aparece en el navegador que se quiere ejecutar “IcedTea-Web”, hay que permitirlo. Si el navegador hace preguntas sobre el applet responder afirmativamente y aceptar a todos los cuadros de mensaje que aparezcan e ingresar el PIN cuando lo solicite.