Armazene chaves pgp no Azure Key Vault

Armazene chaves pgp no Azure Key Vault

Quero transferir o arquivo criptografado do servidor SFTP (Ubuntu) para o armazenamento do Azure usando o pipeline do Azure Data Factory. O cliente está usando PGP para criptografar arquivos em repouso e enviá-los para o servidor SFTP. então o arquivo será criptografado por PGP ao chegar ao sftp. Preciso descriptografar o arquivo para ler a partir daí. Além disso, quero armazenar a chave privada PGP no Azure Key Vault para usá-la na fábrica de dados do Azure. Mas o problema é que não consigo carregar chaves PGP no Azure Key Vault, pois ele aceita apenas os formatos PFX e PEM. Então, minha pergunta é: posso converter chaves PGP para um formato diferente? Em caso afirmativo, posso usá-lo para descriptografar o arquivo depois de alterá-lo para um formato diferente?

Responder1

A resposta curta é que você pode colocar o que quiser no KeyVault como segredo e depois extraí-lo. Exporte suas chaves como um arquivo de texto, salve-o no KeyVault como um segredo e pronto.

Consegui fazer isso funcionar modificando o código emhttps://github.com/lfalck/AzureFunctionsPGPDecrypt

Basicamente você pode usar gpg4win para gerar chaves e depois chamar:

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

No Azure Key Vault, crie dois novos segredos (não chaves). Um deve ser o conteúdo do key.ascarquivo criado acima e o outro deve ser a senha usada para proteger a chave privada no gpg. Em seguida, o código no link lerá esses segredos do Key Vault e os transmitirá aoPGPCorebiblioteca para descriptografia.

Também apontarei que, por algum motivo, o código nesse repositório exige que os segredos sejam convertidos para Base64 antes de colocá-los no KeyVault, porque ele os decodificará em Base64 antes de usá-los. Isso não me parece estritamente necessário, mas se você mexer no código acima, vai querer fazer essa codificação.

Isso é apresentado como uma Função do Azure, mas os conceitos ali demonstrados podem ser usados ​​em outros contextos.

informação relacionada