SSL certificate problem en 3.21.0 integrado

Hola,

Instalamos 3.21 con boleto estudiantil. Si el beneficio ya estaba pedido de antes, trae los datos sin ningún problema.

Si pedimos el beneficio, aceptando las condiciones y tocando el botón grande, aparece error ““Ocurrió un error. Vuelva a intentarlo mas tarde o bien comuníquese con la mesa de ayuda””

Vemos el log y dice:

clase: GuzzleHttp\Exception\RequestException
mensaje: ERROR: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)
traza: [TRAZA]

Vi algunas soluciones que había para versiones anteriores, pero en ubicaciones y archivos de la personalización, no en sus nuevas ubicaciones, que no sé cuales son.

Gracias por cualquier ayuda,

Hola Fernando,

¿esta usando la URL de pruebas http://test.boletoestudiantil.gba.gob.ar/ws/ ?

En tal caso en el archivo instalacion/servicios_web_config.php agregar ‘verify’ => false,, ej:


        'boleto_estudiantil' => [
            'tipo' => 'rest',
            'parametros' => [
                'base_uri' => "http://test.boletoestudiantil.gba.gob.ar/ws/",
                'auth' => ["<USUARIO>", "<PASSWORD>", "<TIPO-AUTH>"],
                'auth_ua' => "<STUDENT-DEPARTMENT>"
                'verify' => false,
            ]
        ],

Te dejo la documentación: https://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.21.0/interfaces/boleto-estudiantil

saludos.
2

Hola Leonel,

Estamos usando la de producción

https://boletoeducativo.gba.gob.ar/ws/

La configuración fue basada en esa wiki…

con tipo-auth basic (solo porque estaba primero; el link de Guzzle no me dejó nada claro para un lado o para el otro)

Hola Fernando,

Si mal no recuerdo antes no daba ese error de certificados, seguramente se les vencieron, vas a tener que agregar la opción ‘verify’ => false para que no te de dicho error, ej:

instalacion/servicios_web_config.php

       
        'boleto_estudiantil' => [
            'tipo' => 'rest',
            'parametros' => [
                'base_uri' => "https://boletoeducativo.gba.gob.ar/ws/",
                'auth' => ['XXX', 'YYY', 'basic'],
                'auth_ua' => 'ZZZ',
                'verify' => false,
            ]
        ],

Igualmente hice una pequeña prueba y me da el siguiente mensajes: POST benefit-request | status: 403 | message: El sistema de inscripciones al Boleto Educativo se encuentra deshabilitado debido al cierre del ciclo lectivo. Disculpe las molestias!. Con la URL de test funciona bien (http://test.boletoestudiantil.gba.gob.ar/ws/).

¿es para producción o están haciendo pruebas?

saludos.
2

Hola Leonel,

En tal caso en el archivo instalacion/servicios_web_config.php agregar 'verify' => false,, ej:

Con eso dio mensaje verde de éxito.

¿es para producción o están haciendo pruebas?

Producción. La personalización de la 3.20.0 se había perdido al instalar la 3.20.2, pero como no era principio de año (segunda mitad del 2022), no había problema (ni nos habíamos dado cuenta, tampoco, que se había perdido).
Llegó el 2023 y como habíamos leído que en 3.21 pasaba a ser parte del core, esperamos a la nueva versión para ponerlo en funcionamiento otra vez.

¡Todo en orden ahora! ¡Muchas Gracias!

Ahora el mismo error aparece en Gestión cuando corro el comando

./guarani notif_solicitudes_sube

la configuración esta en :

instalacion/i__desarrollo/p__guarani/rest/sube/cliente.ini

pero el verify = false no funcionó ahí…

Hola Fernando, proba una de estas dos opciones:

  1. En la función actualizar_beneficio de php/extension_toba/guarani_ws_boleto.php agrega $parametros[‘verify’] = false;, quedaría algo así:

	/*
	 * Con todos los parametros se actualiza el beneficio
	 */
	public static function actualizar_beneficio($updates)
	{		
		$parametros = static::get_parametros_novedad($updates);
                $parametros['verify'] = false;
		try {
			$response = static::get_cliente_rest()->post('benefit-update', $parametros);
			//Valida el status de la respuesta.			
			return static::validar_response($response, 200, __FUNCTION__);
		} catch (\GuzzleHttp\Exception\ClientException $e) {
			echo $e->getMessage();
			return null;
		} catch (Exception $e) {
			echo $e->getMessage();			
			return null;
		}
	}

Si con eso no funciona en vendor/siu-toba/framework/php/nucleo/lib/toba_servicio_web_cliente_rest.php pone private $toba_verify_peer = false;. Este ultimo se pierde si eliminas la carpeta vendor y volves a ejecutar composer install. También deja de verificar los certificados SSL para todos los Web Services (Kolla, SQ, Tehuelche, etc)

saludos.
2

Esto funcionó perfecto hasta acá. El resto ya cambia de título. Genero mensajes nuevos.

Gracias !!