Power BI встроенный, проблема с использованием сертификата для получения токена проверки подлинности - ошибка «неверный тип поставщика» - PullRequest
0 голосов
/ 11 апреля 2020

Я использую Power BI, встроенную в локальное приложение intr anet, и для получения токена аутентификации я использую сертификат. Проблема, с которой я сталкиваюсь, заключается в том, что при работе на месте все работает нормально. Но при публикации на нашем сервере Dev он работает в одном экземпляре, а не в других, таких как среда QA или UAT.

в чем может быть причина этого? потому что мы не используем сертификат должным образом? страннее всего, если он дает сбой, почему он работает нормально только для одного экземпляра веб-сервера, а не для других веб-серверов?

**** Вот фрагмент кода, который мы используем для получения токена аутентификации: ** **

            var tenantSpecificURL = AuthorityUrl.Replace("common", Tenant);
            var authenticationContext = new AuthenticationContext(tenantSpecificURL);
            AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
            var certificatepath = AppDomain.CurrentDomain.BaseDirectory + @"App_Data\SFA.pfx";
            var xCert = new X509Certificate2(certificatepath, "XXXXXXX", X509KeyStorageFlags.PersistKeySet);
            var credential = new ClientAssertionCertificate(ApplicationId, xCert);

            //this is where i believe it is failing
            authenticationResult = authenticationContext.AcquireTokenAsync(ResourceUrl, credential).Result;

            //End of Authentication
            string AccessToken = null; //
            var m_tokenCredentials = new TokenCredentials(authenticationResult.AccessToken, "Bearer");
            string Token = "";

Это ошибка, которую я получаю.

ExceptionMessage ":" Указан неверный тип поставщика. \ R \ n "," ExceptionType ":" System.Security.Cryptography.CryptographicException "," StackTrace ":" at System.Security .Cryptography.Utils.CreateProvHandle (параметры CspParameters, булево значение randomKeyContainer) \ r \ n в System.Security.Cryptography.Utils.GetKeyPairHelper (параметры CspAlgorithmType keyType, CspParameters, логический случайный ключ и безопасный ключ, SafeHleHleKhleHleHleHleHhleИнфайл ,3232). в System.Security.Cryptography.RSACryptoServiceProvider.GetKeyPair () \ r \ n в System.Security.Cryptography.RSACryptoServiceProvider..ctor (Int32 dwKeySize, параметры CspParameters, логическое значение useDefaultKeySize) \ сертификатов безопасности. X509Certificate2.get_PrivateKey () \ r \ n в System.IdentityModel.Tokens.X509AsymmetricSecurityKey.get_PrivateKey () \ r \ n в System.IdentityModel.Tokens.X509AsymmetricSecurityKey.GetAsymmetricLeyAgneyReginR icrosoft.IdentityModel.Clients.ActiveDirectory.Internal.Platform.SigningHelper.SignWithCertificate (Строковое сообщение, X509Certificate2 сертификат) ) "}

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