2

Попытка получить секрет ключа KeyVault с помощью аутентификации AD с использованием сертификата.Проблема при получении ключа KeyVault Secret

Documentation Reffered for Creating KeyVault & AD application using Certificate

public static async Task<string> GetAccessToken(string authority, string resource, string scope) { 
    var context = new AuthenticationContext(authority, TokenCache.DefaultShared); 
    var result = await context.AcquireTokenAsync(resource, AssertionCert); 
    return result.AccessToken; } 

код не удается, а

результат вар = ждут context.AcquireTokenAsync (ресурс AssertionCert)

InnerException содержит: «Keyset не существует "

И несколько раз «Недопустимый тип провайдера». ошибка Не знаете, в чем проблема.

Любые советы очень ценятся.

Спасибо

ответ

0

Предполагая, что AssertionCert действительно, это, скорее всего, вопрос разрешения на доступ к закрытому ключу (который необходим для аутентификации здесь).

Попробуйте это:

  • Создание консоли Microsoft Management Console (MMC) с сертификатами оснастки, что целями в локальном хранилище сертификатов машины
  • Разверните MMC и выберите Управление закрытых ключей.
  • На вкладке «Безопасность» добавьте учетную запись, с которой вы работаете, с помощью «Чтение ».
+0

Спасибо за ваш ответ ... Я уже выполнил настройки, которые вы указали. Вместо доступа только для чтения я предоставил полный доступ на корневом уровне для IIS_IUSRS. Теперь возникла ошибка: «Недопустимый тип провайдера» – Amruta

+0

делает эту помощь: https://blogs.msdn.microsoft.com/alejacma/2009/12/22/invalid-provider-type-specified-error-when-accessing- x509certificate2-privatekey-on-cng-certificate/ – LoekD

+0

и это для преобразования: http://blog.davidchristiansen.com/2016/05/521/#convert – LoekD

0

KeySet не существует, как правило, происходит, когда пользователь, которому вы пытаетесь прочитать сертификат, не имеет доступа к закрытым ключам сертификата. Можете ли вы дважды проверить свой ACLing на сертификатах?

+0

Привет, Dilip, я решил эту проблему устранить условие получения сертификата из CurrentUser/Local Machine Store. Во-вторых, я также попытался импортировать сертификат на текущий пользовательский контекст этого Сервера. – Amruta