繁体   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