將 pgp 金鑰儲存在 azure key Vault 中

將 pgp 金鑰儲存在 azure key Vault 中

我想使用 azure 資料工廠管道將加密檔案從 SFTP 伺服器 (Ubuntu) 傳輸到 azure 儲存。客戶正在使用 PGP 加密靜態檔案並將其推送到 sftp 伺服器。因此文件到達 sftp 時將會被 PGP 加密。我需要解密文件才能從那裡讀取。此外,我想將 PGP 私鑰儲存在 azure 金鑰保管庫中,以便從 Azure 資料工廠使用它。但問題是我無法將 PGP 金鑰載入到 azure key Vault,因為它只接受 pfx 和 PEM 格式。所以我的問題是 - 我可以將 PGP 金鑰轉換為其他格式嗎?如果是這樣,我可以在更改不同格式後使用它的檔案解密嗎?

答案1

簡而言之,您可以將任何您想要的內容作為機密放入 KeyVault 中,然後將其提取。將您的金鑰匯出為文字文件,將其作為機密保存在 KeyVault 中,然後您就可以開始了。

我可以透過修改程式碼來使其工作https://github.com/lfalck/AzureFunctionsPGPDecrypt

基本上你可以使用 gpg4win 產生密鑰,然後呼叫:

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

在 Azure Key Vault 中,建立兩個新的 Secret(不是金鑰)。一個應該是上面創建的文件的內容key.asc,另一個應該是用於保護 gpg 中私鑰的密碼。然後連結中的程式碼將從 Key Vault 中讀取這些機密並將其傳遞到PGP核心用於解密的函式庫。

我還將指出,出於某種原因,該儲存庫中的程式碼要求在將機密放入 KeyVault 之前將其轉換為 Base64,因為它會在使用它們之前對它們進行 Base64 解碼。這對我來說似乎不是絕對必要的,但如果你搞亂了上面的程式碼,你就會想要進行這種編碼。

這是作為 Azure 函數呈現的,但其中演示的概念可以在其他上下文中使用。

相關內容