Я использую 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 сертификат) ) "}