【问题标题】:Azure Key Vault Certificate: the key was not foundAzure Key Vault 证书:找不到密钥
【发布时间】:2019-03-15 00:32:31
【问题描述】:

我正在尝试为现有 API 启用 Azure Key Vault 证书。 Azure Key Vault 帐户中已经有机密和 Azure Key Vault 证书。下面是配置证书的代码:

 public static IWebHost BuildWebHost() =>
               WebHost.CreateDefaultBuilder()
                   .ConfigureAppConfiguration((context, config) =>
                   {
                       var env = context.HostingEnvironment;
                       config.SetBasePath(Directory.GetCurrentDirectory())
                            .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);

                       var builtConfig = config.Build();
                       X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
                       store.Open(OpenFlags.ReadOnly);
                       var cert = store.Certificates.Find(X509FindType.FindByThumbprint, builtConfig["AzureKeyVault:CertThumbprint"], false);
                       config.AddAzureKeyVault(
                               $"https://{builtConfig["AzureKeyVault:Vault"]}.vault.azure.net/",
                               builtConfig["AzureKeyVault:ClientId"],
                               cert.OfType<X509Certificate2>().Single());
                       store.Close();
                   })
                   .UseStartup<Startup>()
                   .Build();

在我的本地计算机上,我正确导入了证书,其中包括下载 pfx 格式。

但我收到的错误信息是:

Microsoft.IdentityModel.Clients.ActiveDirectory.AdalServiceException: 'AADSTS700027:客户端断言包含无效签名。 [原因 - 未找到密钥。客户端使用的密钥指纹:'xxx'

是什么原因造成的?

【问题讨论】:

  • cert 是否为空?如果不是,则未找到/导入私钥。
  • 啊,我明白了。是的,它现在正在工作。谢谢!
  • 我制定了一个答案。请标记它,以便其他用户可以获利。

标签: azure asp.net-core x509certificate azure-keyvault


【解决方案1】:

该消息表明证书未使用私钥 (certmgr.msc) 导入,或者未为请求用户设置权限(使用机器存储时 - certlm.msc

【讨论】:

  • 你能告诉我更多关于这个的信息吗?我想我有同样/类似的问题。我可以通过迭代和使用指纹在商店中找到合适的证书。我可以成功创建 ClientAssertionCertificate,但在 AquireTokenAsync 上失败。一个即将到期的证书将起作用。我尝试的其他人都没有。我确定这是我在过去 2 多天里忽略的东西。谢谢!
  • *certmgr.msc(注意't')
  • 已修复。感谢您报告错字。
猜你喜欢
  • 2020-08-11
  • 2018-09-11
  • 1970-01-01
  • 2020-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-23
  • 2020-02-07
相关资源
最近更新 更多