Estamos intentando cargar por primera vez datos desde Querandies, siguiendo los pasos de la guía se crea el directorio temporal, se carga la clave de encriptado con gpg, y al ejecutar el ETL recibimos el siguiente error:
2018/02/26 11:34:30 - ERROR - Error de desencriptación.
Adjunto el archivo con el último fragmento del log donde se pueden ver los errores, y también el archivo de log completo.
No nos queda muy claro pero pareciera que el problema está en la ejecución del gpg
There was an error moving file [file:///tmp/querandies/6r1ee90ugeacm/temp_extraccion_wichi.gpg] to [file:///tmp/querandies/6r1ee90ugeacm/paquete.zip]
Puede ser un problema de permisos en el directorio pero más probablemente en la instalación del gpg.
Este paso que se indica en la Guía de Instalación (página 67), lo hicieron sin problemas?
Paso 2: Cargar clave de encriptado.
El archivo con todos los datos de Infraestructura de su Institución debe pasar desde el servidor de la SPU hasta el de la Institución, por esa razón el mismo viaja encriptado y por lo tanto hay que importar la clave utilizada a los fines de poder desencriptarlo.
Para importar la clave debe ejecutar en la interfaz de comandos:
gpg --import QuerandiesWichi-priv.key (el archivo QuerandiesWichi-priv.key está en la distribución, en la carpeta etl/carga_de_datos/querandies).
Si por alguna razón cambia el servidor desde el que ejecuta el Paso 3 deberá antes realizar este Paso 2 en el mismo para importar la clave de autenticación.
En algunos casos es posible que el proceso de importación le solicite la frase de autenticación, si es así la misma es “ParaElWichi620”.
Se les ocurre que puede haber quedado algo mal ahí?
Que creo que es el que falló, hay que primero verificar que siga existiendo el directorio /6r1ee90ugeacm
Cuando se logre que este comando funcione probaría de nuevo importar.
en ese momento me vuelve a consultar la passphrase. Luego vuelvo a ejecutar el etl y funciona correctamente, pero en la siguiente importación vuelve a fallar.
Leyendo la documentación de GnuPG en:
veo que el problema puede estar relacionado a la opción passphrase, cito:
--passphrase-file file
Read the passphrase from file file. Only the first line will be read from file file. This can only be used if only one passphrase is supplied. Obviously, a passphrase stored in a file is of questionable security if other users can read this file. Don’t use this option if you can avoid it.
Note that since Version 2.0 this passphrase is only used if the option --batch has also been given. Since Version 2.1 the --pinentry-mode also needs to be set to loopback.
Como mi versión de GnuPG es 2.1.18, debo agregar la opción --pinentry-mode loopback al comando gpg y entonces el mismo se ejecuta sin que me vuelva a consultar la passphrase.
Conclusión: como yo lo veo habría que agregar la opción --pinentry-mode loopback al etl o bien tendría que instalar una versión anterior de GnuPG.
Comparto la solución a la que llegué para este asunto.Se trata de una solución ‘rebuscada’ temporal hasta que actualicen el etl.
Resumen del problema:
El etl de carga de datos para SIU Querandies utiliza el comando gpg con parámetros no compatibles con la última versión de gpg, es decir, este problema surgirá en todos sistemas operativos actualizados.
Nota:
Este problema NO se solucionó actualizando SIU Wichi a la versión 6.4.0
Solución temporal:
Es necesario modificar la forma en la que el etl utiliza el comando gpg. La creación de un alias de comando no funciona debido a que el etc utiliza el binario ‘/usr/bin/gpg’ directamente.
Entonces, primero renombramos el binario gpg de esta manera:
De esta forma cuando el etl utilice ‘/usr/bin/gpg’ se ejecutará el script el cual llama al binario original pasando el parámetro que aporta la solución y añadiendo todos los demás parámetros que se le pase al script.
Claro que cuando el sistema operativo actualice GnuPG, va a sobre escribir el script ‘/usr/bin/gpg’ y el etl volverá a dejar de funcionar, así que hay que estar atentos a eso.