【问题标题】:Intermittent error accessing Azure key vault - Keyset does not exists访问 Azure 密钥保管库时出现间歇性错误 - 密钥集不存在
【发布时间】:2019-06-21 11:54:26
【问题描述】:

我在我的 MVC Web 应用程序中使用 Azure Key Vault。我使用证书连接到 Key Vault。下面是我的示例代码

AssertionCert = GetCertificate(WebConfigurationManager.AppSettings[KeyVaultConstant.ApplicationID], WebConfigurationManager.AppSettings[KeyVaultConstant.CertificateThumbprint], false);    
var keyClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback((authority, resource, scope) => GetToken(authority, resource, scope, AssertionCert)));
var secrets = keyClient.GetSecretsAsync(WebConfigurationManager.AppSettings["VaultUri"]).GetAwaiter().GetResult();

在某些情况下,我收到一条错误消息 加密异常:密钥集不存在

在研究中,我发现我必须授予 IIS_IUser 对存储主键的文件夹的权限。我这样做了,但有时我会收到此错误。这不会每次都发生。

【问题讨论】:

    标签: c# .net azure x509certificate azure-keyvault


    【解决方案1】:

    关于权限问题你是对的。以下是相同的故障排除步骤:

    故障排除步骤:

    • 首先检查运行 CRM 应用程序池或 ADFS 应用程序池的服务帐户
    • 现在打开证书管理器,在个人商店中找到您的证书。右键单击证书并选择“托管私钥”选项
    • 在权限窗口中,检查您的应用程序池服务帐户是否被授予了适当的权限(读取权限应该没问题,否则您可以授予完全控制权)
    • 在下面的屏幕截图中,我已将通配符证书 *.test.local 授予我的应用程序池帐户 - “test\AppPoolSvc”的完全权限

    • 授予权限后,执行 IISRESET 并尝试访问。

    如需进一步参考,请check。也请尝试重启机器看看是否正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-13
      • 2015-11-23
      • 2021-12-24
      • 1970-01-01
      • 2020-07-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多