Almacene las claves pgp en la bóveda de claves de Azure

Almacene las claves pgp en la bóveda de claves de Azure

Quiero transferir un archivo cifrado desde el servidor SFTP (Ubuntu) al almacenamiento de Azure utilizando la canalización de Azure Data Factory. El cliente utiliza PGP para cifrar archivos en reposo y enviarlos al servidor SFTP. por lo que el archivo se cifrará con PGP al llegar a sftp. Necesito descifrar el archivo para leerlo desde allí. Además, quiero almacenar la clave privada de PGP en la bóveda de claves de Azure para usarla desde la fábrica de datos de Azure. Pero el problema es que no puedo cargar claves PGP en la bóveda de claves de Azure ya que solo acepta formatos pfx y PEM. Entonces mi pregunta es: ¿Puedo convertir claves PGP a un formato diferente? Si es así, ¿puedo usarlo para descifrar archivos después de cambiar su formato?

Respuesta1

La respuesta corta es que puedes poner lo que quieras en KeyVault como secreto y luego extraerlo. Exporte sus claves como un archivo de texto, guárdelas en KeyVault como un secreto y estará listo.

Pude hacer que esto funcionara modificando el código enhttps://github.com/lfalck/AzureFunctionsPGPDecrypt

Básicamente puedes usar gpg4win para generar claves y luego llamar:

gpg --export-secret-keys --armor > key.asc

En Azure Key Vault, cree dos secretos nuevos (no claves). Uno debe ser el contenido del key.ascarchivo creado anteriormente y el otro debe ser la frase de contraseña utilizada para proteger la clave privada en gpg. Luego, el código del enlace leerá esos secretos de Key Vault y los pasará alPGPCorebiblioteca para descifrar.

También señalaré que, por alguna razón, el código en ese repositorio requiere que los secretos se conviertan a Base64 antes de colocarlos en KeyVault, porque Base64 los decodificará antes de usarlos. Esto no me parece estrictamente necesario, pero si juegas con el código anterior querrás hacer esa codificación.

Esto se presenta como una función de Azure, pero los conceptos demostrados allí podrían usarse en otros contextos.

información relacionada