[SOLUCIONADO] Error Firma: No se pudo acceder a la API de ARAI Documentos

Estimados. Buenas tardes!

Nos sale ese error al querer firmar via token. Aun ni siquiera con el tiken ya colocado. Del lado del cliente, instalamos el Driver del token e instalamos el SIU Firmador 1.5

Por el lado del server, no sé si está ok operativo, ya que on salen errores. Vieron otros post con mismo error hice verificaciones.

{
    "error": 500,
    "mensaje": "500 Internal Server Error",
    "descripcion": "Error Interno en el servidor: No se encuentra el recurso para autorizacion en el directorio \/usr\/local\/app\/src\/SIU\/DocsApi\/Endpoints\/Frontend. \u00bfRuta mal formada?"
}

comprobando status de los scripts del lado del cliente:

./10-status-frontend.sh


=============================================================
===== Prueba desde un host fuera de la red del servidor =====
=============================================================
** La siguiente prueba esta enfocada a validar los endpoints
** de Araí-Documentos, de acuerdo a si deben estar accesibles o no
** La prueba debe ejecutarse desde una pc (no dentro del servidor)
=============================================================

Ingrese url base del servidor por ejemplo para https://uunn.edu.ar
Enter host: https://expedientes.ugr.edu.ar
Ingrese path de servicios de Araí-Documentos. Por ejemplo '/docs'
Enter path: /docs
'https://expedientes.ugr.edu.ar/docs'' es correcta? (Y/N): y
./10-status-frontend.sh: línea 76: curl: orden no encontrada
./10-status-frontend.sh: línea 81: curl: orden no encontrada
./10-status-frontend.sh: línea 84: curl: orden no encontrada
  Obtenido   Esperado Descripcion
       502 Bad Gateway: No se debe permitir acceso al endpoint          
       502 Bad Gateway: No se debe permitir acceso al endpoint          
       400 Da error pero se puede acceder al endpoint          

========================== Caution ==========================
[WARNING] Los endpoints rest/backend/* de Araí-Documentos no debe ser publicos
[WARNING] Los endpoints rest/backend/* de Araí-Documentos no debe ser publicos
[ERROR] La API rest/frontend/* de Araí-Documentos debe estar disponible para ac

11-java-reqs:

tests/11-java-req.sh
Ingrese url del servidor sin 'https://' por ejemplo para Google => google.com
Enter host: https://expedientes.ugr.edu.ar
======= validando version java
/usr/bin/java
[WARNING] Se recomienda Java Version 1.8.0_202. Puede descargarla de https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
[INFO] Version instalada: 11.0.15

======= java version command
openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.20.04.1)
OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.20.04.1, mixed mode, sharing)

======= java SSLPoke https://expedientes.ugr.edu.ar 443
Error: no se ha encontrado o cargado la clase principal SSLPoke
Causado por: java.lang.ClassNotFoundException: SSLPoke
[ERROR] Posiblemente el certificado SSL del servidor https://expedientes.ugr.edu.ar tenga errores. Verifique!

Por ultimo el testeo del certificado SSL me dá Ok —> https://whatsmychaincert.com/?expedientes.ugr.edu.ar

¿Algo mas que pueda ver? Si nos pueden ayudar agradecido

Gracias


Docs_front.PNG

Docs_front.PNG_thumb.png

Estimado. Nos urge el tema ya que la universidad tiene fecha de salida a producción.
Quedamos pendientes

Saludos

Hola Diego, buenas tardes
Estuvimos viendo los logs que pasaste y hay algunos puntos que deberías verificar:

  1. URL
"descripcion": "Error Interno en el servidor: No se encuentra el recurso para autorizacion en el directorio \/usr\/local\/app\/src\/SIU\/DocsApi\/Endpoints\/Frontend. \u00bfRuta mal formada?"

A la URL https://expedientes.ugr.edu.ar/docs/rest/frontend/autorizacion le está faltando un nivel para poder acceder al recurso, por eso dice Ruta mal formada.
Para este punto, verificá la documentación de las apis en https://documentacion.siu.edu.ar/apis/
Una vez que ingresas al link, arriba a la derecha seleccioná Araí Documentos - Frontend v1
ahí te va a indicar como deben quedar formadas las URL para poder acceder a los distintos recursos.

  1. 10-status-frontend.sh
Ingrese url base del servidor por ejemplo para https://uunn.edu.ar Enter host: https://expedientes.ugr.edu.ar Ingrese path de servicios de Araí-Documentos. Por ejemplo '/docs' Enter path: /docs 'https://expedientes.ugr.edu.ar/docs'' es correcta? (Y/N): y ./10-status-frontend.sh: línea 76: curl: orden no encontrada ./10-status-frontend.sh: línea 81: curl: orden no encontrada ./10-status-frontend.sh: línea 84: curl: orden no encontrada

Inicialmente, deberías instalar curl en la PC desde donde estás haciendo las pruebas para poder correr el script 10-status-frontend.sh

  1. 11-java-reqs:
    URL sin https:
tests/11-java-req.sh Ingrese url del servidor sin 'https://' por ejemplo para Google => google.com Enter host: https://expedientes.ugr.edu.ar

Fijate que el host hay que ingresarlo sin https://, acá probamos SSLPoke sin poner el https con la url expedientes.ugr.edu.ar y funcionó


java SSLPoke expedientes.ugr.edu.ar 443
Successfully connected


Avisanos cómo te va con esto!

Saludos

Hola Diego
Podrías volver a correr el script 10-status-frontend.sh

Fijate que tenés un error de tipeo y en lugar de expedientes escribiste expeidentes, intercambiando la i y la d.

Si corregís eso y volvés a correr el script, ahí te va a indiciar si desde esa terminal estás llegando a la API de Araí Documentos

Estimado Federico. Buenas.

Luego lo corrí ese mismo días correctamente pero volvió a fallar. Te paso la salida:

Descargas/tests# ./10-status-frontend.sh
=============================================================
===== Prueba desde un host fuera de la red del servidor =====
=============================================================
** La siguiente prueba esta enfocada a validar los endpoints
** de Araí-Documentos, de acuerdo a si deben estar accesibles o no
** La prueba debe ejecutarse desde una pc (no dentro del servidor)
=============================================================

Ingrese url base del servidor por ejemplo para https://uunn.edu.ar
Enter host: http://expedientes.ugr.edu.ar                              
Ingrese path de servicios de Araí-Documentos. Por ejemplo '/docs'
Enter path: /docs
'http://expedientes.ugr.edu.ar/docs'' es correcta? (Y/N): y
  Obtenido   Esperado Descripcion
       307        502 Bad Gateway: No se debe permitir acceso al endpoint
       302        502 Bad Gateway: No se debe permitir acceso al endpoint
       302        400 Da error pero se puede acceder al endpoint

========================== Caution ==========================
[WARNING] Los endpoints rest/backend/* de Araí-Documentos no debe ser publicos
[WARNING] Los endpoints rest/backend/* de Araí-Documentos no debe ser publicos
[ERROR] La API rest/frontend/* de Araí-Documentos debe estar disponible para acceder publicamente
=============================================================

NOTA: No se si está relacionado, pero tengo versión nuxeo dockerizada.

A disposición por cualquier sugerencia.

Hola Diego, cómo estás?

Los certificados están Ok, eso ya lo habíamos visto.

Hay punto más sobre el script 10-status-frontend.sh. Fijate que te está devolviendo el siguiente error:

[ERROR] La API rest/frontend/* de Araí-Documentos debe estar disponible para acceder publicamente

O sea que desde la terminal desde la que estás corriendo el test, no estás pudiendo llegar a la API rest/frontend.

Saluods

Gracias Federico por la respuesta.

Yo internamente puedo acceder ok via https y me responde 200 desde la maquina que hago la prueba.
¿Hay alguna regla de traefik que tenga que reveer para rest/frontend/* ?
¿Hay otra prueba que pueda realizar o ver otro logs que me puedan dar mas indicios?

Gracias

Estimado. Tal vez no se comprende el issue que tenemos.

  1. Cuando ingresamos a Huarpe para firmar la resolución,damos click en “firma con token”, nos baja el firmador y cuando ejecutamos directamente e instantaneo abre el cartel de “No se pudo acceder a la API de ARAI Documentos

  2. Pusimos en DEBUG los logs de “docs-api”, vemos un 401 en “proceso-firma” y un ERROR en API-BACKEND

REST-API.ERROR: Error al ejecutar el pedido. No se encuentra el metodo get_list en la clase /usr/local/app/src/SIU/DocsApi/Endpoints/Backend/autorizacion/proceso_firma/proceso_firma.php. \xbfRuta mal formada? [] []\n

REST-API.ERROR: #0 /usr/local/app/vendor/siu-toba/rest/src/SIUToba/rest/rest.php(252): SIUToba\\rest\\lib\\ruteador->buscar_controlador('GET', 'autorizacion/pr...')\n#1 /usr/local/app/www/api-backend.php(75): SIUToba\\rest\\rest->procesar()\n#2 {main} [] []\n
  1. La ejecución en el servidor del script: 20-status-backend.sh
===================================================================
=== Prueba desde adentro del servidor de servicios de Araí-Docs ===
===================================================================
** La siguiente prueba esta enfocada a validar los endpoints
** de Araí-Documentos, de acuerdo a su accesibilidad.
** Los Request realizados poseen errores para evitar la creacion de
** documentos en su entorno
===================================================================

Ingrese url base del servidor por ejemplo para https://uunn.edu.ar
Enter host: https://expedientes.ugr.edu.ar
Ingrese path de servicios de Araí-Documentos. Por ejemplo '/docs'
Enter path: /docs
'https://expedientes.ugr.edu.ar/docs' es correcta? (Y/N): Y
Ingrese User y Password para la API de Araí-Docs
Enter API User: documentos
Enter API Password: docs123
  Obtenido   Esperado Descripcion
       000        500 Deve devolver error indicando que no encuentra el usuario indicado
       000        200 Debe devolver un listado vacio ya que el usuario no existe
       000        400 Da error pero se puede acceder al endpoint

=========================== Caution ===========================
[WARNING] Debe devolver error 500 indicando que no encuentra el usuario
[WARNING] Debe poder conectarse al endpoint y devolver un listado vacio
[ERROR] Eror en endpoint por datos solicitados, no otro tipo de error
=================================================================

Hola, buen día

Deberían revisar sus certificados, porque en este momento están dando error:

https://www.ssllabs.com/ssltest/analyze.html?d=expedientes.ugr.edu.ar
https://www.sslshopper.com/ssl-checker.html#hostname=https://expedientes.ugr.edu.ar
https://whatsmychaincert.com/?expedientes.ugr.edu.ar

Les dejo un post con un problema similiar:
https://foro.comunidad.siu.edu.ar/index.php?topic=23192

Saludos

Hola Federico, Buenas.

Si eso ahora desde afuera porque estan cambiando un enlace. Pero desde adentro va perfecto.

El punto 2 y 3 respecto a errores del backend que te envié ayer fueron probados desde adentro. ¿alguna sugerencia con esos 2 puntos? ¿Nos podes ayudar a solventarlos?

Hay posibilidad en todo caso de abrir un GDS por este problema

Gracias

Estimado Federico.

¿Como podemos hacer para mejorar los tiempos de respuesta? Crees que con un GDS podríamos abrir un hilo para hacerlo mas dinamico?
Necesitamos poner en funcionamiento este sistema, que la universidad adquirió y contrató el año pasado, Aun se encuentra en etapa testing y no funciona la parte de firma al momento

Agradecidos por cualquier comentario o avance

Saludos

Hola Diego, buenas tardes

Para poder ayudarte es necesario en primera instancia que los tests te estén funcionando correctamente.
Por ejemplo, el SSLPoke, la semana pasada (respuesta 05/05) funcionaba correctamente

----------

java SSLPoke expedientes.ugr.edu.ar 443
Successfully connected

--------------

Lo mismo con las pruebas de los certificados:

https://www.ssllabs.com/ssltest/analyze.html?d=expedientes.ugr.edu.ar

https://whatsmychaincert.com/?expedientes.ugr.edu.ar

Ahora, en este momento, no están funcionando ni el SSLPoke, ni las pruebas de certificados.

También, debería responderte sin errores los test 10-status-frontend.sh y 11-java-req.sh en la terminal desde la cual querés firmar.

El test 20-status-backend.sh debería responderte sin errores tu terminal de desarrollador

Si esos errores persisten, deberías revisar los labels de traefik y también si hay algún proxy o algún firewall que esté complicando el acceso a todos los recursos necesarios.

Cualquier log que tengas, que consideres que pueda ser relevante para avanzar con esto, no dudes en adjuntarlo.

Saludos!

Hola Diego, Te comento que los medios de atención que manejamos son los conocidos por toda lo comunidad desde siempre (foro, gds, etc) y los chicos les iran indicando el medido que crean mas adecuado para seguir cada tema. Por otro lado, analizando el historial de este hilo, veo que se ha mantenido una buena dinámica y que que los chicos han contestado a cada una de las dudas que se han presentado. Lamento si esos tiempos no se ajustan a las necesidades pero entenderás que la comunidad es grande y no somos tantos los que pueden responder algunos temas.
Saludos
Hernán

Hola Diego, buen día
Complementario a la info solicitada en mi entrada anterior, sería importante que puedas agregar lo siguiente (mandá todo en un GDS):

  • El log de firmador (app desktop), deja un archivo /tmp/firmador.log
  • Logs del docs-api
  • docs.yml

Saludos!

Estimados.

Pudimos observar que el problema fue un error de certificados SSL. La cadena no estaba completa, faltaba el CHAIN.

Los pasos que realicé fue:

  1. Eliminar el CRT incompleto y ponerlo con el chain incluido, dentro del direcotorio servicios/certs
  2. Eliminar config de docker → docker config rm traefik_tls_cert y docker config rm traefik_key
  3. Volver a recrear la config →

docker config create traefik_tls_cert servicios/certs/nuevo_cert_completo.crt
docker secret create traefik_tls_key servicios/certs/key_cert_completo.key

NOTA: Para eliminar los config antes tenes que eliminar el stack y re-crearlo nevamente, se hace rapido.

Saludos!

Hola Diego, buen día
Buenísimo! Muchas gracias por avisar de la solución!

Saludos!

Buenos días Estimados, estamos teniendo el mismo problema al querer autorizar un documento con token USB.
En el link https://huarpetest.intranet.uncu.edu.ar/docs/rest/frontend/autorizacion nos sale el siguiente mensaje:

{
“error”: 500,
“mensaje”: “500 Internal Server Error”,
“descripcion”: “Error Interno en el servidor: No se encuentra el recurso para autorizacion en el directorio /usr/local/app/src/SIU/DocsApi/Endpoints/Frontend. \u00bfRuta mal formada?”
}

Mientras que en los links https://huarpetest.intranet.uncu.edu.ar/docs/rest/frontend/info
{
“version”: “1.5.0\n”,
“nombre”: “Documentos-Frontend”,
“api”: “1.1”,
“api_major”: “1”,
“api_minor”: “1”
}

https://huarpetest.intranet.uncu.edu.ar/docs/rest/backend/info
{
“version”: “1.5.0\n”,
“nombre”: “Documentos-Backend”,
“api”: “1.5”,
“api_major”: “1”,
“api_minor”: “5”
}

Desde ya agradeceremos vuestra ayuda.
Saludos.

Buen día Marcelo, renovaron el certificado recientemente?
si es así recuerden actualizar los configs y secret:

Eliminar stack traefik
docker stack rm traefik

Eliminar config y secret

docker config rm traefik_tls_cert
docker secret rm traefik_tls_key

Crear config y secret

docker config create traefik_tls_cert servicios/certs/certificado_nuevo.crt
docker secret create traefik_tls_key servicios/certs/key_cert_nuevo.key

Levantar stack (si usan certificados propios usar traefik.yml)
docker stack deploy -c servicios/traefik.yml traefik

recuerden que si es un certificado autofirmado deben concatenar en el certificado la chain o clave intermedia de la raíz para que el firmador pueda validarlo como correcto
Saludos!

Buenos días Elisa, muchas gracias por tu respuesta, si esto nos sucedía antes de renovar certificado y luego de renovarlos, de todos modos seguimos los pasos que nos aconsejaste y sigue el problema, al intentar firmar con el firmador de escritorio sale el mensaje “No se pudo acceder a la API de ARAI-Documentos”.
Saludos!

Dejo este comentario que puede ser útil a quien se esté encontrando con este error:
El firmador también muestra el error “No se pudo acceder a la API de ARAI-Documentos” cuando se utilizan certificados autofirmados.