ctt-gob-es / clienteafirma

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

Autofirma no carga para firmar desde el navegador #167

Open bealop opened 3 years ago

bealop commented 3 years ago

Ordenador: Mac M1 Sistema operativo: Big Sur 11.1 Autofirma versión 1.6.5

Descripción: La instalación se realiza correctamente. Al intentar firmar con el certificado electrónico a través de cualquier navegador (Chrome Versión 87.0.4280.141, Safari o Firefox v 68.0), autofirma abre la aplicación en el dock que abre otra vez la aplicación, pero ninguna de las dos carga. En el navegador sale un error después de un tiempo, seguramente debido a la expiración del tiempo de espera.

La aplicación funcionaba en mi anterior macbook con el navegador Firefox v 68.0.

Para conseguir que funcionara, lo he desinstalado y vuelto a instalar desde el terminal: sudo installer -pkg AutoFirma_1_6_5.pkg -target /

Una vez instalado, he probado en Chrome y ya me funcionaba. Creo que es porque al realizar la instalación normal te dice que tienes que ser administrador pero luego ya no te pide nada más.

Immagarcia commented 3 years ago

a mi no me ha funcionado

alguna idea?

nuriallv commented 3 years ago

Este bug sigue presente y produce errores al utilizar Autofirma en Mac OS (11.1) en combinación con Safari (14.0.2), Chrome (89.0.4389.90) o Firefox (87.0). Esto impide realizar la mayoría de los trámites con la administración electrónica, en los que tras la autenticación con certificado electrónico la solicitud debe de ser firmada con dicho certificado a través de la instancia de autofirma lanzada por el navegador.

En mi caso, la autenticación con el certificado electrónico funciona correctamente en todos los navegadores que he probado y el uso de Autofirma para firmar documentos de forma local también. El problema parece ser la comunicación de los navegadores con Autofirma.

Reproducer: utilizar VALIDe para firmar un documento (https://valide.redsara.es/valide/firmar/ejecutar.html)

FMuro commented 3 years ago
Autofirma big sur

Encontrado en un foro. A mí me ha ayudado.

entuto commented 3 years ago

@FMuro, ¿te ha funcionado en Chrome?

En Edge y en Chrome no me funciona, me saltan los errores que dice @nuriallv, sólo he conseguido que funcione en Firefox.

Gracias.

FMuro commented 3 years ago

@FMuro, ¿te ha funcionado en Chrome?

En Edge y en Chrome no me funciona, me saltan los errores que dice @nuriallv, sólo he conseguido que funcione en Firefox.

Gracias.

Jaja a mí Chrome me va haciendo lo que he puesto en mi mensaje anterior, pero no consigo que Firefox vea el certificado!! Y eso que lo tengo instalado tanto dentro del propio Firefox como en el llavero de MacOS.

entuto commented 3 years ago

@FMuro, ¿te ha funcionado en Chrome? En Edge y en Chrome no me funciona, me saltan los errores que dice @nuriallv, sólo he conseguido que funcione en Firefox. Gracias.

Jaja a mí Chrome me va haciendo lo que he puesto en mi mensaje anterior, pero no consigo que Firefox vea el certificado!! Y eso que lo tengo instalado tanto dentro del propio Firefox como en el llavero de MacOS.

Jajaja que cosa más rara. Es cierto que yo estoy en Windows, no sé si tendrá algo que ver, seguiré peleando a ver si lo consigo.

nuriallv commented 3 years ago

En mi caso, con lo que comentan aquí (eliminando uno de los perfiles de Firefox) conseguí que me funcionara en Firefox...

FMuro commented 3 years ago

@FMuro, ¿te ha funcionado en Chrome?

En Edge y en Chrome no me funciona, me saltan los errores que dice @nuriallv, sólo he conseguido que funcione en Firefox.

Gracias.

Jaja a mí Chrome me va haciendo lo que he puesto en mi mensaje anterior, pero no consigo que Firefox vea el certificado!! Y eso que lo tengo instalado tanto dentro del propio Firefox como en el llavero de MacOS.

@FMuro, ¿te ha funcionado en Chrome? En Edge y en Chrome no me funciona, me saltan los errores que dice @nuriallv, sólo he conseguido que funcione en Firefox. Gracias.

Jaja a mí Chrome me va haciendo lo que he puesto en mi mensaje anterior, pero no consigo que Firefox vea el certificado!! Y eso que lo tengo instalado tanto dentro del propio Firefox como en el llavero de MacOS.

Jajaja que cosa más rara. Es cierto que yo estoy en Windows, no sé si tendrá algo que ver, seguiré peleando a ver si lo consigo.

Claro, yo creo que el problema de aquí es particular de MacOS. O al menos las razones por las que se da en MacOS pueden ser distintas de las que pudieran ocurrir en otro sistema.

FMuro commented 3 years ago

En mi caso, con lo que comentan aquí (eliminando uno de los perfiles de Firefox) conseguí que me funcionara en Firefox...

Gracias! Luego lo pruebo, aunque el Linux nunca he tenido este problema, de hecho instalo el certificado en todos los perfiles y ya está.

jaragunde commented 3 years ago

A mí también me estaba pasando esto en Linux. Mi solución fue desinstalar y volver a instalar el paquete de Autofirma. Creo que el problema era que el sistema había "olvidado" cómo abrir los enlaces tipo afirma://, probablemente durante una actualización de la distro. El navegador lanzaba el enlace pero el sistema no sabía qué hacer con él:


jul 02 10:15:22 shy-guy chromium-browser.desktop[862273]: gio: afirma://service?ports=53070,53448,63342&v=1&idsession=...: The specified location is not supported
SergioSuarezDev commented 3 years ago

A mi en mac me esta fallando autofirma con firefox (Big Sur), es mas.. no me deja tampoco exportar los certificados me da un error... :( no se si es por el DNI 4, pero no creo...

beldog commented 3 years ago

Yo tenía el mismo problema con:

Pasos para solucionarlo:

  1. Eliminar autofirma app
  2. Eliminar certificados de sistema: "Autofirma ROOT" y "127.0.0.1"
  3. Reiniciar (no creo que sea necesario pero por qué no?)
  4. Instalar autofirma
  5. Abrir keychain app y "Confiar siempre" los certificados "Autofirma ROOT" y "127.0.0.1"

Y funciona como la seda con Safari/14.1.2, Chrome/93.0.4577.82, Firefox/92.0

He utilizado https://valide.redsara.es/valide/firmar/ejecutar.html como validador.

Espero que ayude!

jost-s commented 2 years ago

OS: macOS 11.6.1 / Intel Autofirma: 1.6.5

No me funciona en Brave, pero con Safari sí.

capri99 commented 2 years ago

Hemos estado investigando y vemos que hay 2 maneras de lanzar el AutoFirma, según la página web que lo haga. Todo en el mismo equipo, mismo sistema operativo (en este caso Debian 11) y mismo navegador (Firefox 91.5 ESR).

Una página funciona y otra no con el AutoFirma:

Página web de "Valide Red Sara" https://valide.redsara.es/valide/firmar/ejecutar.html NO funciona el AutoFirma, lanzando un proceso en el equipo, ligeramente diferentes:

/bin/bash /usr/bin/AutoFirma afirma://service?ports=51380,50390,61504&v=1&idsession=n4o497m0fEFXPVMt29nS java -jar /usr/lib/AutoFirma/AutoFirma.jar afirma://service?ports=51380,50390,61504&v=1&idsession=n4o497m0fEFXPVMt29nS

Página web de Dirección general de seguros y fondos de pensiones https://www.sededgsfp.gob.es/es/Paginas/TestAutofirma.aspx SÍ funciona el AutoFirma, lanzando unos procesos en el equipo, ligeramente diferentes:

/bin/bash /usr/bin/AutoFirma afirma://sign?fileid=An9dNpKbCze2iYIHYhVz&rtservlet=https%3A%2F%2Fafirmasignature.sededgsfp.gob.es%2Fafirma-signature-retriever%2FRetrieveService&key=15733512 java -jar /usr/lib/AutoFirma/AutoFirma.jar afirma://sign?fileid=An9dNpKbCze2iYIHYhVz&rtservlet=https%3A%2F%2Fafirmasignature.sededgsfp.gob.es%2Fafirma-signature-retriever%2FRetrieveService&key=15733512

En el primer caso (el de Redsara), parece que se lanza contra los puertos locales y no nos funciona. En el segundo caso, sí.

¿A alguien le ocurre lo mismo? Hemos probado a desinstalar e instalar el AutoFirma 1.6.5, eliminar los certificados locales dentro del Firefox... pero nada.

capri99 commented 2 years ago

Me respondo a mi mismo, hemos detectado el origen del error para el caso de "Valide Redsara" y era debido que teníamos reglas de enrutado en nuestro equipo y un Masquerading de las pruebas:

# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  anywhere             anywhere

Lo que hicimos fue eliminarlo y ya funcionó el Valide.

# iptables -t nat -F
# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
catfluoride commented 2 years ago

Hemos estado investigando y vemos que hay 2 maneras de lanzar el AutoFirma, según la página web que lo haga. Todo en el mismo equipo, mismo sistema operativo (en este caso Debian 11) y mismo navegador (Firefox 91.5 ESR).

Una página funciona y otra no con el AutoFirma:

Página web de "Valide Red Sara" https://valide.redsara.es/valide/firmar/ejecutar.html NO funciona el AutoFirma, lanzando un proceso en el equipo, ligeramente diferentes:

/bin/bash /usr/bin/AutoFirma afirma://service?ports=51380,50390,61504&v=1&idsession=n4o497m0fEFXPVMt29nS java -jar /usr/lib/AutoFirma/AutoFirma.jar afirma://service?ports=51380,50390,61504&v=1&idsession=n4o497m0fEFXPVMt29nS

Página web de Dirección general de seguros y fondos de pensiones https://www.sededgsfp.gob.es/es/Paginas/TestAutofirma.aspx SÍ funciona el AutoFirma, lanzando unos procesos en el equipo, ligeramente diferentes:

/bin/bash /usr/bin/AutoFirma afirma://sign?fileid=An9dNpKbCze2iYIHYhVz&rtservlet=https%3A%2F%2Fafirmasignature.sededgsfp.gob.es%2Fafirma-signature-retriever%2FRetrieveService&key=15733512 java -jar /usr/lib/AutoFirma/AutoFirma.jar afirma://sign?fileid=An9dNpKbCze2iYIHYhVz&rtservlet=https%3A%2F%2Fafirmasignature.sededgsfp.gob.es%2Fafirma-signature-retriever%2FRetrieveService&key=15733512

En el primer caso (el de Redsara), parece que se lanza contra los puertos locales y no nos funciona. En el segundo caso, sí.

¿A alguien le ocurre lo mismo? Hemos probado a desinstalar e instalar el AutoFirma 1.6.5, eliminar los certificados locales dentro del Firefox... pero nada.

Mismo resultado aquí (Arch Linux con Brave), sólo que ni limpiando la configuración de iptables se soluciona. Ayer tuve que usar Explorer 11 en Windows para firma algo. Venga...

ay0o commented 2 years ago

Por fin he resuelto esto en MacOS Monterey y Firefox.

Con Edge me funcionaba sin problemas, con Firefox y Safari no, obteniendo el error de que no se pudo conectar con AutoFirma.

Para solucionar esto en el caso de Firefox, es porque hay que añadir el certificado root de AutoFirma a Firefox, y hay que darle permisos de que pueda autenticar websites (el de email da igual).

Una vez hecho eso, ya deja de salir el error de que no conecta con AutoFirma, pero sin embargo aparece la lista de certificados vacia. Unos de los iconos que aparece es para cambiar el almacen de certificados, seleccionando el del sistema ya aparece mi certificado y puedo hacer trámites como siempre.

Lo curioso es que no sé cómo hacer para que funcione con Safari, pues Safari lee los certificados del sistema, del mismo modo que cualquier navegador basado en Chromium. No sé por qué en Edge si funciona y en Safari no.

awoisoak commented 2 years ago

Hace un par de semanas me funcionaba sin problemas en un Mac con Chrome (Asegurándome de seguir estos pasos) Esta semana dejó de funcionar en dos nuevas webs del gobierno y me pasaba lo mismo en un Windows con Chrome.

Al igual que @ay0o al final lo he conseguido hacer funcionar con Firefox. El certificado no lo encontraba y en mi caso simplemente lo volví a añadir desde el mismo popup.

dagonpa commented 2 years ago

Aquí alguien desesperado con el mismo problema. Windows 10, y he probado con todos los navegadores, Chrome, Firefox, Edge... e incluso IE11. No hay manera de que funcione. Se abre el programa de autofirma (parece que el link "afirma://service" sí funciona) pero después la web no es capaz de comunicar con él y salta el "ERR_CONNECTION_REFUSED":

Launched external handler for 'afirma://service?ports=53860,61176,49839&v=1&idsession=6Ahar5MtC55nRcCjo5CY'.
miniapplet.js:1639          
POST https://127.0.0.1:49839/afirma net::**ERR_CONNECTION_REFUSED**

He probado todo lo que habéis comentado pero nada me funciona. Alguna pista, o alguien con el mismo problema y Windows?

Juanmiag88 commented 2 years ago

Me pasa lo mismo que a dagonpa, he probado de todo, Chrome, Firefox, Edge. He reinstalado varias veces Autofirma, probado con versión de 32 y 64 bits y nada. He instalado el certificado raíz en el almacén de entidades de confianza

Si intento registrar algo en el registro electrónico a través de esta web: https://rec.redsara.es/registro/action/are/acceso.do

Cuando llega el momento de firmar, se abre por pocos segundos la ventana de inicio de AutoFirma, pero se cierra, y en la consola del navegador hay numerosos ERR_CONNECTION_REFUSED

Sin embargo, si pruebo Autofirma desde esta web: https://www.sededgsfp.gob.es/es/Paginas/TestAutofirma.aspx

Sí que me funciona, me abre el selector de certificados de AutoFirma y acaba bien el proceso.

¿Alguna idea? No sé que más probar.

Muchas gracias.

ccastrogustavo commented 2 years ago

Me pasa lo mismo que a dagonpa, he probado de todo, Chrome, Firefox, Edge. He reinstalado varias veces Autofirma, probado con versión de 32 y 64 bits y nada. He instalado el certificado raíz en el almacén de entidades de confianza

Si intento registrar algo en el registro electrónico a través de esta web: https://rec.redsara.es/registro/action/are/acceso.do

Cuando llega el momento de firmar, se abre por pocos segundos la ventana de inicio de AutoFirma, pero se cierra, y en la consola del navegador hay numerosos ERR_CONNECTION_REFUSED

Sin embargo, si pruebo Autofirma desde esta web: https://www.sededgsfp.gob.es/es/Paginas/TestAutofirma.aspx

Sí que me funciona, me abre el selector de certificados de AutoFirma y acaba bien el proceso.

¿Alguna idea? No sé que más probar.

Muchas gracias.

Hola Lo mimso estoy hace unos dias probando varias soluciones. en el manual de autoscript dice que en algunos casos si hay CSP en los encabezas usar y agregar la de afirma://*

Está claro que es un tema de seguridad hacia la llamadas a software del equipo.

Yo he probado el autoscript de test y en local funciona pero si lo pongo en un web no. A ver si hay alguna idea por ahi.3 Muchas gracias. Saludos

dagonpa commented 2 years ago

A mi al final me ha acabado funcionando con Firefox. No tengo claro qué lo ha solucionado, porque ya había probado con todos los navegadores. Quizás alguna actualización. Importante en mi caso:

NonAlex1 commented 2 years ago

Eso tiene que ver con la validación del certificado local, para 127.0.0.1. Como arreglarlo: abra la pagina, donde debería aparecer el dialogo de AutoFirma, y mientras que este activa la aplicación, en otra tab abra el enlace wss://127.0.0.1:63117/ o HTTPS://127.0.0.1:63117/ Navegador respondrá con el dialogo estándar para fallos de validación de certificados. Confirme la excepción y ya esta. Despues todo funcionara genial. Supongo que alternativa sería comprobar todos los certificados para 127.0.0.1 en el Llavero (para MAC OS) y asegurarse de que todos estén "Trusted"

catfluoride commented 2 years ago

Eso tiene que ver con la validación del certificado local, para 127.0.0.1. Como arreglarlo: abra la pagina, donde debería aparecer el dialogo de AutoFirma, y mientras que este activa la aplicación, en otra tab abra el enlace wss://127.0.0.1:63117/ o HTTPS://127.0.0.1:63117/ Navegador respondrá con el dialogo estándar para fallos de validación de certificados. Confirme la excepción y ya esta. Despues todo funcionara genial. Supongo que alternativa sería comprobar todos los certificados para 127.0.0.1 en el Llavero (para MAC OS) y asegurarse de que todos estén "Trusted"

Gracias, así ha funcionado para mí, usado Brave en Linux.

cofinoa commented 2 years ago

Confirmo que el problema es la NO confianza del navegador con el certificado SSL que autofirma instala en el sistema.

En autofirma se puede restaurar la configuración, pero no funciona debido al error:

ERROR: No se ha podido instalar el certificado de confianza SSL en el llavero del sistema
ccastrogustavo commented 2 years ago

Hola en tu caso no está instalado,

reinstala el autofirma pero desistalalo primero.

un Saludo

El sáb, 26 mar 2022 a las 10:02, Antonio S. Cofiño (< @.***>) escribió:

Confirmo que el problema es la NO confianza del navegador con el certificado SSL que autofirma instala en el sistema.

En autofirma se puede restaurar la configuración, pero no funciona debido al error:

ERROR: No se ha podido instalar el certificado de confianza SSL en el llavero del sistema

— Reply to this email directly, view it on GitHub https://github.com/ctt-gob-es/clienteafirma/issues/167#issuecomment-1079644609, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQRCKWOOOUNYUBIX76FN63VB3HCBANCNFSM4V2KJCQA . You are receiving this because you commented.Message ID: @.***>

masakkre commented 2 years ago

Sistema: Ubuntu mate 20.04 Navegador: Firefox Autofirma: 1.7.1

Desde que hemos realizado la actualizacion a esta version de autofirma, esto es un desastre. En la version 1.6.5 todo funcionaba correctamente, pero ahora, no tenemos mas que problemas. Hay paginas en las que funciona y paginas en las que no. En la pagina de test de https://www.sededgsfp.gob.es/es/Paginas/TestAutofirma.aspx me dice que todo esta bien, pero si intento usar autofirma en REDSARA, me da error de que no encuntra autofirma. He probado a desinstalar todo, borrar certificados de autofirma, borrar la carpeta de firefox para comenzar con una instalacion limpia... nada de lo que hago funciona. Y si lo hace, igual al dia siguiente deja de funcionar. No tiene ningun sentido.

En la consola de errores de firefox, el error es que no pudo contactar con wss://127.0.0.1:63117/ . He probado la solucion de las iptables, pero en mi caso no ha funcionado. He probado a instalar a mano el certificado de autofirma, dandole todos los permisos de uso, pero tampoco....

Cuanquier idea o ayuda sera bienvenida!!

Un saludo

reatlat commented 2 years ago

Issue persists on some local websites like https://portal.oviedo.es even its pass test on page https://www.sededgsfp.gob.es/es/Paginas/TestAutofirma.aspx to resolve it, you have to disable CORS policy in your browser...

Windows

macOS

Linux

All this may sound crazy, but it's the only way to make it works...

PS solution works for any Chromium browsers 😁 and may be used for Edge, Chrome, Brave and even for FireFox (different solution)

alaruss commented 2 years ago

En mi caso el instalador creó certificados con nombres distintos en dos macs que tengo: en uno era "127.0.0.1" y en otro "localhost". Al ponerlos en "Trusted" junto con "AutoFirma Root" todo empezó a funcionar.

masakkre commented 2 years ago

En mi caso el instalador creó certificados con nombres distintos en dos macs que tengo: en uno era "127.0.0.1" y en otro "localhost". Al ponerlos en "Trusted" junto con "AutoFirma Root" todo empezó a funcionar.

Supongo que en Linux no es asi, pero por probar no se pierde nada. Donde te creó esos certificados? En mi carpeta de certificados solo encuentro Autofirma.crt.

Issue persists on some local websites like https://portal.oviedo.es even its pass test on page https://www.sededgsfp.gob.es/es/Paginas/TestAutofirma.aspx to resolve it, you have to disable CORS policy in your browser...

Windows

  • Right click on desktop, add new shortcut
  • Add the target as "[PATH_TO_CHROME]\chrome.exe" --disable-web-security --disable-gpu --user-data-dir=~/chromeTemp
  • Click OK.

macOS

  • open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir="/tmp/chrome_dev_test" --disable-web-security

Linux

  • google-chrome --disable-web-security

All this may sound crazy, but it's the only way to make it works...

PS solution works for any Chromium browsers 😁 and may be used for Edge, Chrome, Brave and even for FireFox (different solution)

I will try it, hope this works. Thank you!

ZeroTimeZero commented 2 years ago

Eso tiene que ver con la validación del certificado local, para 127.0.0.1. Como arreglarlo: abra la pagina, donde debería aparecer el dialogo de AutoFirma, y mientras que este activa la aplicación, en otra tab abra el enlace wss://127.0.0.1:63117/ o HTTPS://127.0.0.1:63117/ Navegador respondrá con el dialogo estándar para fallos de validación de certificados. Confirme la excepción y ya esta. Despues todo funcionara genial. Supongo que alternativa sería comprobar todos los certificados para 127.0.0.1 en el Llavero (para MAC OS) y asegurarse de que todos estén "Trusted"

This is the 'cleaner solution' available. Just open window wss://127.0.0.1:63117/ and as long as you have autofirma installed will work.

Esta es la 'solución más limpia' . Abrir una ventana wss://127.0.0.1:63117/ mientras tengas instalado autofirma funcionara.

gbrunacci commented 2 years ago

Eso tiene que ver con la validación del certificado local, para 127.0.0.1. Como arreglarlo: abra la pagina, donde debería aparecer el dialogo de AutoFirma, y mientras que este activa la aplicación, en otra tab abra el enlace wss://127.0.0.1:63117/ o HTTPS://127.0.0.1:63117/ Navegador respondrá con el dialogo estándar para fallos de validación de certificados. Confirme la excepción y ya esta. Despues todo funcionara genial. Supongo que alternativa sería comprobar todos los certificados para 127.0.0.1 en el Llavero (para MAC OS) y asegurarse de que todos estén "Trusted"

This is the 'cleaner solution' available. Just open window wss://127.0.0.1:63117/ and as long as you have autofirma installed will work.

Esta es la 'solución más limpia' . Abrir una ventana wss://127.0.0.1:63117/ mientras tengas instalado autofirma funcionara.

En mi caso, abrir wss://127.0.0.1:63117/ en el navegador no funcionaba, pero https://127.0.0.1:63117/ si me mostraba la opción para agregar la excepción.

Con eso funcionó. 🙌

jahnog commented 2 years ago

@catfluoride @Juanmiag88 @ccastrogustavo @masakkre Por si les sirve, yo también tenia el problema que Autofirma No abría en la pagina de Redsara https://valide.redsara.es/valide/ pero funcionaba perfecto en la Dirección de Seguros y Fondos https://www.sededgsfp.gob.es/, pero después de probar muchas cosas, pude solucionarlo.

Realice todas las verificaciones mencionadas en este hilo, el certificado ROOT, el de localhost/127.0.0.1, probar las direcciones wss y https con un navegador cuando veía en los logs que se ejecutaba Autofirma, desinstalar todo (navegadores, java y autofirma) y volver a instalar, pero nunca había logrado que la ventana apareciera desde Redsara y siempre tenia el error de conexión a wss://127.0.0.1:63117/ como muestra @alxhotel en esta foto: image

En mi caso, el problema fue alguna incompatibilidad en el protocolo TLSv1.3 de la versión de Java openjdk-11-jre 11.0.15 y los navegadores Firefox 100.0.2 y Chrome 102.0.5005.115, todo corriendo en un Ubuntu 21.10. Para solucionarlo tuve que deshabilitar el protocolo TLSv1.3 en Java, y forzar a que se utilice TLSv1.2, con lo que ahora funciona perfectamente con ambos navegadores.

Como root tuve que editar el archivo $JAVA_HOME/conf/security/java.security y cambiar la línea: jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \ por la siguiente jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, TLSv1.3, RC4, DES, MD5withRSA, \ Espero que esto se solucione en alguna versión posterior de Java, para poder habilitar de nuevo esta versión mas moderna de TLS.

masakkre commented 2 years ago

Parece que esto funciona!! En mi caso, usamos Ubuntu Mate con la versión libre de java. El archivo que he modificado ha sido:

/usr/lib/jvm/jdk1.8.0_271/jre/lib/security/java.security

Y añadiendo TLSv1.3, a la linea jdk.tls.disabledAlgorithm ha empezado a funcionar. Cruzo dedos a ver si esta es la definitiva!!!

Muchas gracias Javier.

P.D. He probado con otro ordenador con una versión de ubuntu mas moderna con openjava 11 y, efectivamente, la línea a modificar es la que dice Javier: /usr/lib/jvm/java-11-openjdk-amd64/conf/security/java.security

Y si, ya llevo 2 de 2 que no funcionaban correctamente y al agregar la excepción de TLSv1.3 han empezado a funcionar. Una vez mas, muchisimas gracias Javier!!

@catfluoride @Juanmiag88 @ccastrogustavo @masakkre Por si les sirve, yo también tenia el problema que Autofirma No abría en la pagina de Redsara https://valide.redsara.es/valide/ pero funcionaba perfecto en la Dirección de Seguros y Fondos https://www.sededgsfp.gob.es/, pero después de probar muchas cosas, pude solucionarlo.

Realice todas las verificaciones mencionadas en este hilo, el certificado ROOT, el de localhost/127.0.0.1, probar las direcciones wss y https con un navegador cuando veía en los logs que se ejecutaba Autofirma, desinstalar todo (navegadores, java y autofirma) y volver a instalar, pero nunca había logrado que la ventana apareciera desde Redsara y siempre tenia el error de conexión a wss://127.0.0.1:63117/ como muestra @alxhotel en esta foto: image

En mi caso, el problema fue alguna incompatibilidad en el protocolo TLSv1.3 de la versión de Java openjdk-11-jre 11.0.15 y los navegadores Firefox 100.0.2 y Chrome 102.0.5005.115, todo corriendo en un Ubuntu 21.10. Para solucionarlo tuve que deshabilitar el protocolo TLSv1.3 en Java, y forzar a que se utilice TLSv1.2, con lo que ahora funciona perfectamente con ambos navegadores.

Como root tuve que editar el archivo $JAVA_HOME/conf/security/java.security y cambiar la línea: jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \ por la siguiente jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, TLSv1.3, RC4, DES, MD5withRSA, \ Espero que esto se solucione en alguna versión posterior de Java, para poder habilitar de nuevo esta versión mas moderna de TLS.

jahnog commented 2 years ago

Estuve investigando un poco mas, parece que TLSv1.3 recién está disponible en Java 8 a partir de la versión 261 y en Java 11 a partir de la 11.0.8, las versiones anteriores solo tenían hasta TLSv1.2 y puede ser que por eso funcionaran. Me parece que como es un protocolo muy reciente todavía debe haber algún bug de comunicación entre la implemetación de Java y la implementación de los navegadores. Probé también con Java 17 y es el mismo caso, AutoFirma muestra una advertencia que Java 17 no esta soportado, pero deshabilitando TLSv1.3 funciona también.

sbellver commented 2 years ago

Pues otro con "festival" de autofirma.

Después de desinstalarlo e instalarlo de nuevo como indicabais más arriba:

sudo installer -pkg AutoFirma_1_7_1.pkg -target /

Tampoco ha funcionado.

Desde firefox, con el inspector abierto, he visto la url del socket com la imagen de @jahnog

image

En lugar de wss://127.0.0.1:63117/ lo he cambiado en una nueva pestaña a https://127.0.0.1:63117 , añadido la excepción de seguridad y ya me sale autoafirma. OJO! Esto hay que hacerlo entre que pulsas la solicitud y antes de que salga el mensaje de error.

image

Al entrar nos dará un bonito mensaje

image

En unos segundos se nos abrirá Autofirma.

No me aparecían certificados en Firefox (en Safari si), pero pulsando el segundo icono de arriba a la derecha he podido ver los certificados locales.

Muy fácil nos lo ponen

benjajaja commented 2 years ago

Mi problema fue conseguir asociar el protocolo en firefox en Arch linux. Mis pasos:

  1. Extraer el contenido de autofirma-1.7.1-1.noarch_FEDORA.rpm con rpmextract
  2. Copiar la carpeta usr sobre /usr, o solo usr/bin/autofirma y usr/lib64/autofirma/* a /usr/lib64/autofirma/
  3. Instalar java y comprobar que autofirma abre la GUI
    • Estos pasos intermedios han sido en vano:
    • Hacer click en Herramientas -> Restaurar instalación, que resulta en un error de asociar protocolos en firefox
    • Ejecutar sudo /home/$USER/.afirma/AutoFirma/restoreprotocol.sh
    • Abrir about:config en firefox y probar cambiar network.protocol-handler.app.afirma a /usr/bin/autofirma (minúsculas)
  4. Abrir la web en cuestión (un ayuntamiento en mi caso) y abrir las herramientas de desarrollador en el paso donde no abre la autofirma
  5. Obtener la URL que debería abrir, con id de sesión
    1. Ir a la pestaña "Debugger"
    2. Localizar miniapplet.js en el árbol de ficheros fuente
    3. Localizar la funcion openUrl y poner un breakpoint en la primera línea
    4. Hacer click en la UI para iniciar la autofirma
    5. Cuando para el debugger en la línea, copiar el valor de la variable url
      • Alternativamente se puede inspeccionar también en la pestaña Networking, pero hay que ser más rápido que el timout/retries
  6. Ejecutar autofirma en terminal con esa URL como parámetro, p. ej.: autofirma afirma://service?ports=64117&v=1&idsession=deadbeef
  7. Aparece la GUI de autofirma para firmar lo que sea
EmilioVar commented 2 years ago

A mi me daba tambien error_25, pero haciendo lo que comentó alaruss he conseguido que funcione autofirma.

Concedí todos los permisos tanto a "AutoFirma ROOT" como a "localhost" ( a mi la ruta 127.0.0.1 no me aparece)

edulix commented 2 years ago

@EmilioVar o alguien.. ¿Podríais subir a algún lugar el fichero exportado de "localhost" o "127.0.0.1"? El fichero AutoFirma_ROOT.cer lo he encontrado en ~/Library/Application Support/AutoFirma y lo he podido instalar en el Keychain Access de Mac OS X y darle permisos, pero el de 127.0.0.1 no lo encuentro en ninguna parte. Según https://github.com/ctt-gob-es/clienteafirma/blob/master/afirma-ui-simple-configurator/src/test/java/es/gob/afirma/standalone/configurator/TestMacCaInstall.java#L145 parece que debería estar en algún fichero llamado 127_0_0_1.cer.. pero no lo encuentro. Creo que es esto lo único que me falta para que funcione en Mac. Por cierto tengo un M1, no sé si eso debería ser problema.

DanielAlcon commented 2 years ago

Yo tenía el mismo problema con:

* os: macOS 11.5.2 / intel

* java: 1.8.0_301

* autofirma: 1.6.5

Pasos para solucionarlo:

1. Eliminar autofirma app

2. Eliminar certificados de sistema: "Autofirma ROOT" y "127.0.0.1"

3. Reiniciar (no creo que sea necesario pero por qué no?)

4. Instalar autofirma

5. Abrir keychain app y "Confiar siempre" los certificados "Autofirma ROOT" y "127.0.0.1"

Y funciona como la seda con Safari/14.1.2, Chrome/93.0.4577.82, Firefox/92.0

He utilizado https://valide.redsara.es/valide/firmar/ejecutar.html como validador.

Espero que ayude!

me acabas de solucionar el problema en Monterey 12.5.1 y al menos con Firefox ha funcionado perfectamente para firmar notificaciones.

elrebost commented 1 year ago

En mi caso, con Firefox bajo GNU/Linux (Ubuntu 22.04), al actualizar, AutoFirma había dejado de funcionar desde Firefox, concretamente ante una solicitud de firma de una web no abría el módulo de AutoFirma. La solución ha sido: Editar el fichero handlers.json del perfil y cambiar "afirma":{"action":2} por "afirma":{"action":4,"ask":true}

Observaciones a considerar:

  1. El problema se presenta al actualizar de Ubuntu 20.04 (con AutoFirma 1.6.5 funcionando) a Ubuntu 22.04 en el que tube que actualizar también AutoFirma de 1.6.5 a 1.7.1
  2. ahora Firefox en Ubuntu se instala mediante snap, por lo que los perfiles están en "${HOME}/snap/firefox/common/.mozilla". He creado link en "${HOME}/.mozilla" a "${HOME}/snap/firefox/common/.mozilla"
  3. Me fallaba el script "postinst" del paquete AutoFirma_1_7_1.deb por un problema en un perfil de un usuario del sistema. Como sólo quería Autofirma en mi perfil, modifiqué el fichero "/usr/lib/AutoFirma/script.sh" que se invoca (y se elimina) en el postinst del paquete, para que sólo configurase AutoFirma para mi perfil (por defecto parece que intenta hacerlo para todos los usuarios del sistema).
masakkre commented 1 year ago
  1. ahora Firefox en Ubuntu se instala mediante snap, por lo que los perfiles están en "${HOME}/snap/firefox/common/.mozilla". He creado link en "${HOME}/.mozilla" a "${HOME}/snap/firefox/common/.mozilla"

En mi caso, yo desinstale el snap de firefox e instale el firefox desde los repositorios oficiales: snap remove firefox add-apt-repository ppa:mozillateam/ppa echo 'Package: * Pin: release o=LP-PPA-mozillateam Pin-Priority: 1001 ' | sudo tee /etc/apt/preferences.d/mozilla-firefox ; echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox apt install firefox firefox-locale-es

filippobistaffa commented 1 year ago

A mi tampoco me funciona en Ubuntu 22.04 y Firefox 110. En mi caso no hay ningún servicio escuchando en el puerto 63117 (no entiendo quien tendría que ser), así que si intento abrir el enlace https://127.0.0.1:63117 simplemente que no puede acceder. ¿Alguna idea?

antonio-dmgzi commented 1 year ago

Así lo he solucionado yo en Linux Mint, pero creo que vale para otros Linux y MAC OS y Windows (me pasaba lo mismo en una Virutalbox Windows 10).

Es un problema de muy mala programación del script de Autofirma del servidor. Hay sitios que no funcionan como por ejemplo la Xunta https://sede.xunta.gal/ y redsara https://rec.redsara.es/, y otros que si funcionan como https://www.registradores.org/, entre muchos otros.

Los sitios que funcionan utilizan un script en el servidor con version:

image

Los que no funcionan utilizan una version aparentemente anterior:

image

Para los que no funcionan, teniendo todo lo demás correcto (Java, certificados...) se soluciona en las ultimas versiones de Firefox (110.0.1 (64-bit)) y Chrome (Version 111.0.5563.64 (Official Build) (64-bit)) ,de forma sencilla.

  1. Abrir una pestaña del navegador con https://127.0.0.1:63117/
  2. Pinchar en el icono que nos sale a la izquierda de la ventana de navegación y entrar en configuración:

image

4.Poner todo a permitido, (o casi todo), ojo: no vale con dejarlo en Allow(default):

image

Las imágenes son de Chrome, pero en Firefox el proceso es muy similar.

Destacar que Firefox solo funciona cargando los certificados de archivo, no van los certificados instalados en el navegador ni los del sistema. No he probado con DNIe.

image

Supongo que en otros navegadores también se podrá solucionar de forma similar.

El problema parece que esta en que el navegador esta bloqueando al script del servidor de forma automática porque no confía en el sitio (https://127.0.0.1:63117/), y no avisa. Además el script tiene un problema claro de gestión deficiente de los timeouts cuando intenta abrir los websockets, por lo que a veces si llega a funcionar después de muchos intentos y aleatoriamente.

Aprovecho para saludar a los de la Sede de la Xunta, que tanto me han tomado el pelo cuando les comente que tenían un problema con su programación en el servidor, porque así he tenido que ser yo, que no cobro sino pago, el que he perdido más de doce horas para encontrar el problema y finalmente poder presentar un escrito por su registro. Dedicado a ellos y a todos los demás funcionarios, que no se explican como tienen tan mala fama entre la gente, mientras se aburren tanto en sus puestos de trabajo, y los que no solo no cobran, sino que pagan, tienen que hacerles su trabajo para salir adelante.

filippobistaffa commented 1 year ago
1. Abrir una pestaña del navegador con https://127.0.0.1:63117/

@antonio-dmgzi cual tendría que ser el resultado? En mi caso no obtengo ningún error de certificado, simplemente me dice:

Screenshot from 2023-03-09 13-17-24

iago-pssjd commented 1 year ago

A mí lo que me ocurre usando Brave es el error SAF_16.

Eso tiene que ver con la validación del certificado local, para 127.0.0.1. Como arreglarlo: abra la pagina, donde debería aparecer el dialogo de AutoFirma, y mientras que este activa la aplicación, en otra tab abra el enlace wss://127.0.0.1:63117/ o https://127.0.0.1:63117/ Navegador respondrá con el dialogo estándar para fallos de validación de certificados. Confirme la excepción y ya esta. Despues todo funcionara genial. Supongo que alternativa sería comprobar todos los certificados para 127.0.0.1 en el Llavero (para MAC OS) y asegurarse de que todos estén "Trusted"

Pues yo intento acceder a https://127.0.0.1:63117/ y no puedo. Me aparece algo tipo la imagen adjunta (en que se ve desde el navegador Vivaldi que es el que tengo disponible ahora, pero me sucede usando Brave en Debian 11). Y la conexión a internet está bien, no tengo ningún firewall (ni siquiera tenía instalado ufw) ni antivirus (bueno sí, clamav) y no uso proxy ninguno. Además, que en Brave no aparece opción de configuración avanzada ...

gitissiue

sbellver commented 1 year ago

No conozco ese navegador, pero lo normal es que te deja añadir la excepción.

Es importante acceder a la url después de pulsar sobre firmar, porque el servidor es accesible durante un tiempo determinado y tras varios intentaos se cierra.

https://github.com/ctt-gob-es/clienteafirma/issues/167#issuecomment-1157745725

iago-pssjd commented 1 year ago

@sbellver

Es importante acceder a la url después de pulsar sobre firmar

Gracias, lo intentaré.

Esto hay que hacerlo entre que pulsas la solicitud y antes de que salga el mensaje de error.

Esto ya lo veo más difícil, porque creo que es bastante inmediato.

masakkre commented 1 year ago

En mi caso, yo tuve que añadir el certificado de Autofirma a mano en Firefox. En preferencias, seguridad, certificados y ahí, añadir el certificado en autoridades,marcando la validación  en las 2 casillas.

En Ubuntu se encuentra el certificado de Autofirma en /var/lib/Autofirma/

También puede que me equivoque pero creo que Autofirma busca el perfil de Firefox para funcionar. O al menos en mi caso, si no tengo todo configurado en Firefox no me funciona en ningún navegador

antonio-dmgzi commented 1 year ago

Brave es Chromium por lo que hay que hacer lo mismo que he comentado mas arriba para Chrome:

Abrir una pestaña con https://127.0.0.1:63117/ y pulsar en la imagen a la izquierda de la barra de navegación (la admiración en la imagen (!) :

image

Ojo: no hay que estar conectado simultáneamente al proceso de firma, hay que hacerlo antes.

Después entrar en la opción Settings y hay que poner todo a Allow (en la imagen aun esta sin poner):

image

Después intentar firmar en cualquier sitio de prueba y ya funciona (siempre que los certificados y Java estén Ok).

image

Por cierto, en Brave funciona con DNie y tambien en Firefox (siguiente imagen):

image

Las pruebas están hechas en Linux Mint (Debian) y en una Virtualbox con Windows 10.