Open gonzaleztroyano opened 3 months ago
He estado haciendo pruebas y parece ser que el problema de la compatibilidad con estas rutas está en la codificación por defecto de Windows. AutoFirma interpreta los parámetros de entrada en UTF-8, pero la codificación de los emoticonos que le llegan no coincide y no se encuentra la ruta especificada. He probado en Linux y ahí sí que funcionan las rutas con estos caracteres. También he probado a cambiar la codificación por defecto en Windows 11 (en "Panel de Control" -> "Región" -> Pestaña "Administrativo" -> "Cambiar configuración regional del sistema" he activado la casilla "Versión beta: Use UTF-8 Unicode para la compatibilidad de idioma en todo el mundo") y, después de reiniciar, también me ha funcionado bien con rutas con emoticonos, tanto desde consola como al iniciar una firma a través del menú contextual.
Sobre el soporte de emoticonos no se va a hacer nada, ya que dependemos del sistema, pero sí se va a corregir el que la aplicación se cierre sin advertir al usuario cuando falla la carga del fichero. Lo correcto sería que se muestre un error mediante un diálogo o por consola según si se ejecutó una operación con interfaz gráfica o no. Lo que no puedo asegurar es que el cambio llegue a tiempo para AutoFirma 1.9.
Hola:
Efectivamente, tras activar la versión beta de compatibilidad UTF-8, se puede verificar una firma:
Sí es cierto que se muestran varios Fatal Error
al lanzar el comando desde consola ([1]):
[Fatal Error] :1:1: Invalid byte 1 of 1-byte UTF-8 sequence.
Estos errores no se muestran al ser llamada la función de verificar desde el menú contextual (GUI). Por otro lado, en la interfaz de Autofirma no se muestran correctamente los caracteres en la codificación UTF-8 ([2]).
Similar al caso anterior, sí es posible firmar desde la GUI (llamando a AutoFirma desde el menú contextual). Se firma correctamente, no muestra error ninguno; y el fichero generado es validado por Autofirma, posteriormente.
Si se llama a AutoFirma desde consola (el proceso se completa vía GUI, eso sí), se muestran mensajes de error distintos al caso de verificación; aunque sí firma correctamente y el fichero resultante puede ser verificado por el programa como firma correcta.
Tal y como se puede ver en la captura, al lanzar el programa, en la carga del archivo se generan las siguientes salidas a la consola:
[Fatal Error] :1:1: Content is not allowed in prolog. ## x8
Durante el proceso de firma, una vez seleccionado el certificado deseado y la ruta para el resultado, se genera la siguiente salida (misma salida que en el caso de verificación):
[Fatal Error] :1:1: Invalid byte 1 of 1-byte UTF-8 sequence.
Se verifica que, tanto a través de GUI como la CLI, es posible generar huellas digitales.
Respecto a lo comentado sobre la solución a implementar:
Sobre el soporte de emoticonos no se va a hacer nada, ya que dependemos del sistema, pero sí se va a corregir el que la aplicación se cierre sin advertir al usuario cuando falla la carga del fichero. Lo correcto sería que se muestre un error mediante un diálogo o por consola según si se ejecutó una operación con interfaz gráfica o no. Lo que no puedo asegurar es que el cambio llegue a tiempo para AutoFirma 1.9.
Okay a todo. Si efectivamente no es posible corregir el tema del soporte de emoticonos al depender del sistema, nada que hacer en ese sentido. Aunque sí, como comentas, @Gamuci, sería interesante que se mostrasen mensajes de error (por la vía más oportuna en cada sentido) alertando al usuario de la situación que se ha generado.
Si fuese posible distinguir entre tipos de errores, opino, sería interesante especificar si se trata de emoticonos, así como con un enlace a una FAQ sobre cómo solucionarlo (lo comentado UTF-8, mover/renombrar el archivo, lo que sea).
Sería fantástico si estos mensajes de error, así como todos los mostrados por AutoFirma, siguieran las buenas prácticas de la industria y las recomendaciones de UX.
Si no fuera posible que estas correcciones fuesen incluidas en la versión 1.9, tampoco es algo grave, pues el error no es crítico y estoy seguro afecta a un número bastante limitado de usuarios/as.
¡Muchísimas gracias por todo!
Tl;DR: Autofirma no arranca cuando la ruta tiene emoticonos.
Descripción del problema
El problema ocurre al iniciar Autofirma (en última versión) desde el menú contextual de Windows, tanto en la opción de
Firmar con Autofirma
, como la deGenerar huella digital
, así como la deVerificar con Autofirma
(esta última opción para archivos ya firmados, claro).Aparece el loader de Autofirma, pero se cierra inesperadamente pasados unos segundos.
Detalles técnicos
Versión Autofirma:
v1.8.2
Versión Windows:Windows 11 Pro Version 23H2
OS build22631.3155
Version de Java:17.0.6
Arquitectura del JRE:64
Java Vendor:Eclipse Adoptium
logs
El archivo de log ubicado en
%HOMEPATH%\.afirma\AUTOFIRMA.afirma.log.xml
no muestra nada. Contenido completo tras la ejecución:Ejecución vía CLI
Utilizando un archivo de ejemplo parece ser que internamente parece convertir los emoticonos en signos de interrogación de cierre (
?
):CAU Abierto (y cerrado)
Se remitieron los detalles, así como un vídeo reproduciendo los problemas en la Incidencia # 102200, creada a través del Centro de Servicios. Esta fue cerrada sin detalles, redirigiéndome al 060. Se puede remitir sin problemas a los mantenedores del proyecto.
Disponible para la realización de cualquier prueba adicional. ¡Un saludo y muchas gracias!