【问题标题】:error while trying to decrypt using azure vault certificate key: "Operation returned an invalid status code 'Forbidden'"尝试使用 azure vault 证书密钥解密时出错:“操作返回了无效的状态代码‘禁止’”
【发布时间】:2020-04-03 21:48:58
【问题描述】:

我正在尝试通过 C# 代码和 azure key vault 证书密钥解密加密字符串,加密部分工作正常,但在解密时出现异常:“Operation returned an invalid status code 'Forbidden'”、“Operation decrypt is not permitted on this key.

在从 AD 刀片注册到 Azure AD“应用程序注册”选项时,我已允许所有权限。还有其他地方我需要添加更多权限吗?已按照此article 设置证书并与 AD 关联。

我用来解密的一行代码:

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

如果有人这样做,请在评论中回信,将有很大帮助。

【问题讨论】:

    标签: azure encryption azure-keyvault


    【解决方案1】:

    也许我的情况有所不同,但我会在这里删除一些细节,以防有人遇到同样的问题。 我在 Azure Key Vault UI 上创建了一个证书(注意:证书,而不是密钥)并将其用于加密/解密并得到 操作返回无效状态代码“禁止”错误。

    我尝试创建一个新证书,但这次我检查了所有高级策略配置选项(您应该只检查您需要的选项)并且新证书对我有用:

    【讨论】:

      【解决方案2】:

      操作返回了无效的状态码“禁止”

      根据我的测试,您似乎没有在 Key Vault 中为您的应用程序配置 Access Policy 来访问密钥或处理加密/解密。

      另外,请检查您是否将注册到 azure keyvault 的应用的角色分配添加。

      更多细节,你可以参考这个article,我有一个测试,它工作正常。

      【讨论】:

      • 嗨乔伊,感谢您的解决方案,我已经尝试通过访问策略为保管库提供完整的密钥权限。在您发表评论后,我尝试了第二步,即我的 ID 的访问控制 (IAM),但仍然没有运气。
      【解决方案3】:

      如果您尝试在具有 AS2Decode 的逻辑应用中使用此类证书,也会出现此错误。 你会得到的错误是:

      • 集成帐户操作失败,状态码:禁止和 错误 KeyVaultOperationFailed :与密钥保管库的通信 '..........KeyVault' 失败。请授权逻辑应用执行 通过授予逻辑应用服务访问权限对密钥保管库进行操作 'list'、'get' 的主体 '7cd684f4-8a78-49b0-91ec-6a35d38739ba', “解密”和“签名”操作。

      感谢您提供此解决方案!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-19
        • 1970-01-01
        • 2021-04-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多