Cómo acceder al sistema «Tramite ¡YA!» de RACSA y «Regístrelo» del Ministerio de Salud desde GNU/Linux

El sistema https://tramiteya.go.cr/ usado en los trámites de CrearEmpresa, Cámara Costarricense de Empresas de Factoreo (CCEF) y en la Dirección General de Migración y Extranjería (DGME), así como la plataforma https://v2.registrelo.go.cr/ del Ministerio de Salud hace uso de un componente firmador de escritorio multiplataforma creado en Java que en la actualidad funciona en GNU/Linux pero requiere un pequeño ajuste para funcionar.

Este firmador depende de Java, debe instalarse algún JRE de OpenJDK (completo, no solo headless), preferiblemente versión superior a la 8 para que no falle al lanzarse (ver unos párrafos más abajo una nota al respecto). El fichero descargado se puede abrir desde una terminal en la carpeta de descargas y ejecutando el comando java -jar FirmaDigitalInstaller.jar

Sin embargo, una vez solicite el PIN de la tarjeta, puede aparecer el siguiente mensaje:

ERROR: No se pudo inicializar la firma digital
– Confirme que el driver ya esté instalado
– Revise que su dispositivo de lectura de la firma digital esté bien conectado al puerto USB
(SmartCard Exception. No se pudo Instanciar el Provider SunPKCS11)

Para prevenir este error, ejecute este comando desde una terminal:

ln -s /usr/lib/SCMiddleware/libidop11.so $HOME/FirmaDigital/lib/libASEP11.dylib

Y ya debería funcionar cuando reintente y le solicite el PIN.

Este servicio local del firmador espera que esté instalado un Java posterior a la versión 8. Si por algún requerimiento el java predeterminado del sistema se requiriera el 8 para otros casos de uso, habría que quitar el parámetro y valor de add-opens del fichero $HOME/.profile (utilizado para arrancar el servicio al iniciar la sesión de escritorio) o editar la ruta a java de ese fichero para que apunte a un java diferente, que es preferible. Se sugiere utilizar el comando alternatives o update-alternatives existente en varias distribuciones para ajustar el java predeterminado según convenga.

Arreglar el puerto cuando deja de funcionar tras limpiar la configuración del navegador

El firmador puede dejar de funcionar en la comunicación con el sitio web. Cuando esto sucede, al tratar de iniciar sesión en el sitio web, el navegador hace que se descargue de nuevo el FirmaDigitalInstaller.jar en lugar de aparecer la ventana para ingresar de PIN. Esto puede suceder cuando se limpia la información del sitio web o cuando se intenta acceder desde otro navegador web, así como cuando se accede desde sesión privada/incógnito. Al descargarse e instalarse por primera vez, se genera en la configuración un número de puerto elegido dentro de un intervalo y se guarda en una configuración local tanto en la configuración del firmador como en la configuración del sitio web dentro del navegador (localStorage). Sin embargo, por lo mencionado anteriormente, esta configuración puede no estar disponible en modo incógnito/privado, o porque se haya borrado, o porque se acceda desde otro sitio web diferente que usa el mismo firmador, o usando otro navagador, haciendo que no coincida con el puerto configurado en el firmador local. En cualquier caso, cuando en el navegador no está configurado este valor, lo que hace el sitio web es intentar conectar por un puerto predeterminado (52900), por lo que se puede configurar este mismo localmente de manera manual para restaurar el acceso. Para ello, hay que editar el fichero $HOME/.java/.userPrefs/com/soin/firmaDigital/prefs.xml y cambiar el valor del FirmaDigitalServer.SSLport, por ejemplo si está en value="50123" (puede ser otro número) debe cambiarse a value="52900". Después de aplicar este cambio hay que reiniciar el servicio. La manera más práctica es reiniciando la sesión o el sistema.

Esta guía se había publicado inicialmente en 2021 pero con actualizaciones posteriores había dejado de funcionar. Se ha actualizado esta guía en 2025 para que funcione con los nuevos controladores de Idopte para tarjetas JCOP3 y JCOP4.

8 comentarios en “Cómo acceder al sistema «Tramite ¡YA!» de RACSA y «Regístrelo» del Ministerio de Salud desde GNU/Linux

  1. Eduardo:

    Al pasar ejecutarlo sale este mensaje y no funciona:ln: /Users/edo/FirmaDigital/lib//libASEP11.so: File exists
    edo@Eduardos-MacBook-Air ~ %

    1. Francisco de la Peña:

      Hola Eduardo, si está usando macOS no lo he probado y parece que no requiere el enlace simbólico hoy en día, parece que SOIN hizo una actualización al FirmaDigitalInstaller.jar. De todos modos hoy día no me está funcionando, aunque sí aparece la ventana de solicitud de PIN, al ingresarlo no continúa ni para registrarse ni para acceder en la mayoría de ocasiones. Desactivando extensiones como ublock origin tampoco parece funcionar. Probado en Chrome y Firefox sin éxito, por lo que esta guía está obsoleta por ahora hasta que se encuentre una solución, si es que todavía está funcionando este sistema.

    2. Francisco de la Peña:

      Hola de nuevo Eduardo, creo que encontré la manera de hacer funcionar el firmador actualizado en macOS, por si puede entrar en sesión privada/incógnito de navegador y aplicar este comando en la aplicación Terminal de macOS:
      /usr/libexec/PlistBuddy -c “set :/com/soin/firmaDigital/:FirmaDigitalServer.SSLport 52900” ~/Library/Preferences/com.soin.firmadigital.plist
      Requiere reiniciar tras ejecutar el comando para aplicar los cambios.
      Saludos.

  2. Ariel Ramos O.:

    Yo logré eliminar el error instalando OPEN JDK desde esta página: https://adoptium.net/es/

    Pero ahora el PIN no se envía en la solicitud http a receta digital, es decir, revisando, aunque el usuario coloque el PIN y le de click en “firmar” la solicitud inicializa pero el dato del PIN no va en los parámetros, alguna línea de código se queda “enciclada”

        1. Francisco de la Peña:

          Muchas gracias Ariel por la mención. Creo que encontré la manera de hacer funcionar el firmador actualizado en macOS para los casos en los que falla con la actualización más reciente del FirmaDigitalInstaller.jar, por si tras instalarlo puede entrar en sesión privada/incógnito de navegador y aplicar este comando en la aplicación Terminal de macOS:
          /usr/libexec/PlistBuddy -c “set :/com/soin/firmaDigital/:FirmaDigitalServer.SSLport 52900” ~/Library/Preferences/com.soin.firmadigital.plist
          Agradecería si tras ejecutar el comando el cambio y reiniciar puede confirmar si se resolvió en su caso. Saludos.

Responder a Francisco de la Peña

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *