Я пытаюсь включить сертификат хранилища ключей 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'
Любая причина, которая вызывает это?