簡體   English   中英

嘗試使用 azure 保管庫證書密鑰解密時出錯:“操作返回了無效的狀態代碼‘禁止’”

[英]error while trying to decrypt using azure vault certificate key: "Operation returned an invalid status code 'Forbidden'"

我正在嘗試通過 C# 代碼和 azure 密鑰保管庫證書密鑰解密加密的字符串,加密部分工作正常但在解密時發生異常:“ Operation returned an invalid status code 'Forbidden' ”,“ Operation decrypt is not permitted on this key.

在將其注冊到 Azure AD 刀片式廣告的“應用程序注冊”選項時,我已允許所有權限。 還有其他地方我需要添加更多權限嗎? 已按照本文設置證書並與 AD 關聯。

我用於解密的一行代碼:

var decryptedData = kv.DecryptAsync(key.Key.Kid,JsonWebKeyEncryptionAlgorithm.RSAOAEP, encryptedTextNew).GetAwaiter().GetResult();

如果有人這樣做過,請在評論中回復,將會有很大幫助。

也許我的情況有所不同,但我將在這里刪除一些細節,以防有人遇到同樣的問題。 我在 Azure Key Vault UI 上創建了一個證書(注意:證書,而不是密鑰)並將其用於加密/解密,並且操作返回了一個無效的狀態代碼“禁止”錯誤。

我嘗試創建一個新證書,但這次我檢查了所有高級策略配置選項(您應該只檢查您需要的選項)並且新證書對我有用:

在此處輸入圖片說明

操作返回了無效的狀態代碼“禁止”

正如我所測試的,您似乎沒有在 Key Vault 中為您的應用程序配置Access Policy來訪問密鑰或處理加密/解密。

在此處輸入圖片說明

另外,請檢查您是否添加了注冊到 azure keyvault 的應用程序的角色分配。

在此處輸入圖片說明

更多細節,你可以參考這篇文章,我有一個測試,它工作正常。

如果您嘗試在具有 AS2Decode 的邏輯應用中使用此類證書,也會發生此錯誤。 你會得到的錯誤是:

  • 集成帳戶操作失敗,狀態代碼為:禁止和錯誤 KeyVaultOperationFailed:與密鑰保管庫“..........KeyVault”通信失敗。 請通過授予邏輯應用服務主體“7cd684f4-8a78-49b0-91ec-6a35d38739ba”的訪問權限來授權邏輯應用對密鑰保管庫執行“列表”、“獲取”、“解密”和“簽名”操作。

感謝您提供此解決方案!

我遇到過同樣的問題。 確保在證書上傳或生成期間,您在高級策略配置中設置了數據加密選項。 這只能在初始設置期間完成。 稍后更改它不起作用。

高級策略配置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM