Сертификат хранилища ключей Azure: ключ не найден - PullRequest
1 голос
/ 15 марта 2019

Я пытаюсь включить сертификат хранилища ключей Azure для существующего API. У нас уже есть секреты и сертификат хранилища ключей Azure в учетной записи хранилища ключей Azure. Вот код для настройки сертификата:

 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: подтверждение клиента содержит недопустимую подпись. [Reason - Ключ не найден. Отпечаток ключа, используемого клиентом: 'xxx'

Любая причина, которая вызывает это?

1 Ответ

2 голосов
/ 29 марта 2019

В сообщении указывается, что либо сертификат не импортирован с закрытым ключом (cermgr.msc), либо не заданы разрешения для запрашивающего пользователя (при использовании хранилища машины - certlm.msc)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...