A partir del 3 de febrero de 2025, Soporte Firma Digital ha publicado una actualización de los controladores de Firma Digital, tras la publicación de nuevas tarjetas (NXP JCOP4). Este nuevo controlador es compatible con las tarjetas existentes (NXP JCOP3) que se venían distribuyendo desde 2019.
Estas nuevas tarjetas no son compatibles con el controlador IDProtectClient, pero al ser compatible el nuevo controlador con las tarjetas anteriores se puede reemplazar IDProtectClient por el nuevo controlador de Idopte. Las tarjetas más antiguas de Athena, que dejaron de distribuirse en 2019, ya no son compatibles con este nuevo controlador, pero es posible que no queden tarjetas con certificados activos, ya que en los últimos años apenas existían kioscos donde renovaran certificados en tarjetas existentes.
Las guías disponibles para instalación de Firma Digital para GNU/Linux que hay en este sitio web se irán actualizando a lo largo de estos días, ya que el procedimiento de actualización cambia sustancialmente. El nuevo controlador proporciona un servicio en memoria que ahorra tiempo al precargar la lectura de objetos (certificados y llaves públicas) del dispositivo al conectarlo. También se muestra más estable al no tener los defectos conocidos que tenía el controlador anterior y que permite simplificar el proceso de instalación que incluía algunos “trucos” para evitar caídas del sistema o de las aplicaciones cuando se ejecutaba por parte dos usuarios diferentes a la vez.
Aunque el nuevo controlador por el momento no tiene versión para Linux ARM ni para Android, al menos la versión para macOS sí se trata de un binario universal, lo que facilitará también a los usuarios de computadoras Mac para poder ejecutar aplicaciones de firma de manera nativa y con mejor rendimiento, al no requerir emulación Intel con Rosetta.
Debido a que las rutas a las librerías del controlador de la tarjeta es diferente al del controlador anterior, los autores de firmadores han tenido que actualizar sus herramientas para que apunten a las nuevas rutas. Las guías para GNU/Linux de este sitio web también se actualizarán para crear enlaces simbólicos para dar compatibilidad a ciertas aplicaciones de sitios web que no hayan actualizado a tiempo, para que quienes tengan con el nuevo controlador, así como para el uso de las nuevas tarjetas JCOP4, puedan seguir utilizando esos servicios si no estuvieran actualizados a tiempo.
Del mismo modo que el Agente GAUDI ya soporta el nuevo controlador y tarjetas JCOP4, el firmador libre también ofrece descargas actualizadas, así como nuevos instaladores para Windows y macOS, como alternativa a firmador.jar, incluyendo además una versión incorporada de Java, eliminando la necesidad de instalar Java de antemano y también evitando así problemas con la licencia de Java de Oracle en los casos donde no se utiliza para uso personal. El firmador libre para Windows y macOS incorpora una copia de Eclipse Temurin, que es libre y no tiene esas restricciones.
En los próximos días se ampliará más detalladamente las mejoras en el firmador libre que se aprovecharon para incluirse en esta nueva actualización requerida por la actualización de los controladores.
Hola Francisco, como estas? Me gustaria ver si de casualidad me puedes ayudar. Tengo un usuario en mi organizacion y hace poco cambio la tarjeta de firma digital y la computadora. Su equipo es windows, tiene instalado java 8 y ya se le instalaron los programas nuevos desde la pagina de hacienda. Pero tenemos un problema al intentar accesar en el sitio de Registrelo, ponemos el pin de la firma y nos da el siguiente error: smartcard exception no pudo instanciar el provider SunPKCS11. Sabes por donde puede ir el problema y como lo podria solucionar ? De ante mando muchas gracias!
Hola Luis, es interesante porque ese error suele ser cuando se utiliza una versión de Java diferente a la 8 para cargarlo. O tal vez el bloque de código que captura excepciones está generando un error distinto que le cae a ese mismo mensaje de error.
¿La tarjeta tiene el número de serie en el frente? Según Soporte Firma Digital, las tarjetas nuevas (JCOP4) tienen el número de serie en el frente. Es posible que la aplicación no sea todavía compatible. Voy a intentar acceder a Registrelo desde Windows con una tarjeta de las nuevas para ver qué error detallado sucede en mi caso, creo que hay una forma de ver la pila de llamadas y errores relacionados, pero podría ser esa la causa si con tarjetas más antiguas no estuviera fallando en esa misma computadora.
Saludos.
Hola Francisco, correcto esta tarjeta tiene el numero de serien en el frente, y estoy utilizando el JCOP4. Tenemos varias computadoras con firmas viejas y todo bien, pero con esta firma nueva no lo logramos hacer funcionar. Si logras hacer que funcione te agradeceria mucho que nos cuentes como lo lograste. Saludos.
Hoy tome el archivo java.security de una computadora vieja con la configuracion de las firmas viejas y ahora ya no me da ese error, pero se queda autenticando mucho rato y luego mas bien dice Expiro tiempo permitido para digitar el PIN
Hola Luis, gracias por la actualización. Gracias por el dato de java.security, aunque la carga de la librería la suele hacer la aplicación directamente buscando asepkcs.dll en el caso del driver antiguo y en el caso de la nueva busca idopkcs.dll, por lo que lo habitual es tener que modificar el código fuente de la aplicación, en caso de que no soporte esa librería. El BCCR hizo un llamado a actualizar todos los firmadores por este motivo pero es posible que los productos entregados por parte de terceros requieran modificarse bajo licitación y eso toma tiempo.
Existen dos posibilidades para intentar hacer que funcione con tarjetas JCOP4 en caso de que la aplicación realmente no lo soporte:
Opción 1: Ingeniería inversa para arreglarlo: descompilar el JAR, parecido al “truco” explicado artículo de cómo usar BAC Firma en Linux, mediante el parcheo del fichero .java que carga la librería y compilarlo de nuevo.
Opción 2: Tratar de realizar un conjunto de enlaces simbólicos en Windows mediante el comando mklink o mediante copias de las librerías de Idopte (SCMiddleware) en las misma ruta que se encuentra el asepkcs.dll y cambiarle el nombre a idopkcs.dll para simular ser la otra. Tenga en cuenta que idopkcs.dll tiene dependencias propias, por lo que puede que requiera estar localizables en la misma carpeta (copiar el resto de dlls a esa misma ubicación).
Esto es parte de lo que quiero investigar para varios firmadores afectados, por si quiere más detalles en caso de que quiera probarlo también de su lado.
Saludos!
A parte de los lectores que venden en los bancos, existen algunas opciones alternativas en las tiendas de cómputo, por ejemplo. He buscado lectores en internet, ningún, dentro de sus especificaciones habla del tal JCOP4. Cómo debería buscar un lector compatible?