ctt-gob-es / clienteafirma

Cliente @firma
http://administracionelectronica.gob.es/ctt/clienteafirma
257 stars 121 forks source link

¿Versión de Java para Autofirma 1.8.3? #403

Open alfem opened 4 months ago

alfem commented 4 months ago

El paquete .deb de Autofirma 1.8.3 sugiere Java 17.

Versiones anteriores funcionaban con Java 11. ¿sigue siendo compatible con esta versión?

alexcorvis84 commented 4 months ago

@alfem Correcto, acabo de realizar la comprobación de que sugiere Java17

imagen

Sin embargo, con Java17, me ha sido imposible iniciarlo. He tenido que cambiar a Java8 para que se me ejecutase (Ubuntu 22.04.4 LTS)

imagen

alfem commented 4 months ago

Yo lo estoy usando con java 11, y va bien.

alexcorvis84 commented 4 months ago

Yo lo estoy usando con java 11, y va bien.

Correcto, es la que se recomienda en el manual.

alfem commented 4 months ago

Sí, era la recomendada para la 1.8.2, pero si ves el DEBIAN/control del paquete de la 1.8.3 recomienda Java 17:

https://github.com/ctt-gob-es/clienteafirma/blob/master/afirma-simple-installer/linux/instalador_deb/src/DEBIAN/control

ogarcia commented 4 months ago

Si, eso era lo que yo comentaba aquí: https://github.com/ctt-gob-es/clienteafirma/issues/381#issuecomment-1999128558

No entiendo porque se recomienda Java 17, supongo que en algún momento se les pasó por la cabeza que había que actualizar la versión de Java y ahí se quedaron, en la intención.

De hecho si intentas compilar el código con Java 17 no te deja:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (default-compile) on project afirma-lib-itext-android: Compilation failure: Compilation failure: 
[ERROR] Source option 6 is no longer supported. Use 7 or later.
[ERROR] Target option 6 is no longer supported. Use 7 or later.

En definitiva, que hay que usar Java 11.

alfem commented 4 months ago

Al menos es software libre y podemos corregir cosas. Nosotros lo repaquetizamos para uso interno.

ogarcia commented 4 months ago

Al menos es software libre y podemos corregir cosas. Nosotros lo repaquetizamos para uso interno.

Si, algo es algo, lo mismo hago yo en el AUR para Arch Linux.

De hecho si no queréis depender del AutoFirmaConfigurador.jar y hacer las coas bien podéis utilizar este script bash para lanzar autofirma. Ya se encarga directamente con OpenSSH de crear los certificados e instalarlos correctamente en TODOS los perfiles de Firefox (no solo en el perfil por defecto como hace el configurador.

alfem commented 4 months ago

Interesante!

Me recuerda al que hice para GECOS: https://github.com/gecos-team/autofirma-gecos/blob/master/sources/DEBIAN/postinst

Eso de AutoFirmaConfigurador.jar es bastante 'grimoso'. Y que el paquete oficial 'mate' el Firefox si está arrancado, no lo hace muy amigable para desplieges masivos desatendidos.

ogarcia commented 4 months ago

Me recuerda al que hice para GECOS: https://github.com/gecos-team/autofirma-gecos/blob/master/sources/DEBIAN/postinst

Si, al final mas o menos llegamos todos al mismo script :joy:

Eso si, es preferible que el script se ejecute por usuario en lugar de a nivel sistema en la instalación ya que el certificado no debería ser compartido entre usuarios (lo contrario puede ser un problema de seguridad).

alfem commented 4 months ago

Optamos por meter el certificado que genera AutoFirma en el sistema, y cambiar la librería de Firefox para que no use su propio fichero de CAs, sino el del sistema operativo. Así da igual si un usuario se crea varios perfiles de navegador tras la instalación de AutoFirma.

ogarcia commented 4 months ago

Optamos por meter el certificado que genera AutoFirma en el sistema, y cambiar la librería de Firefox para que no use su propio fichero de CAs, sino el del sistema operativo. Así da igual si un usuario se crea varios perfiles de navegador tras la instalación de AutoFirma.

Si, es una opción. Cuando estaba creando el paquete de Arch lo pensé así (de hecho creo recordar que lo llegué a poner en la primera versión) lo que pasa es que con un certificado único para todos los usuarios creas una pequeña brecha de seguridad y por eso lo terminé cambiando al script que hace lo propio pero por usuario. También da lo mismo si el usuario crea varios perfiles antes o después ya que el trust_ca que se encarga de revisar si tienes o no el certificado instalado se ejecuta siempre que lanzas AutoFirma. Incluso da igual si el usuario regenera los certificados ya que la función al final los sobreescribe (lo importante es que se generen siempre con el mismo CN).