Я обновил свой проект до версии 2.2 ядра asp.net с v2.1, и все использовалось для нормальной работы. В приведенном ниже коде я пытаюсь инициализировать ключ RSA для IdentityServer4 (v2.3.2 ) и при попытке получить токен я получаю следующую ошибку.
try
{
var rsaProvider = new RSACryptoServiceProvider(2048);
var rsaParametersPrivate =
RsaExtensions.RsaParametersFromXmlFile(Configuration.GetSection("JwtSettings:rsaPrivateKeyXml")
.Value);
rsaProvider.ImportParameters(rsaParametersPrivate);
var securityKey = new RsaSecurityKey(rsaProvider);
_signingCredentials = new SigningCredentials(securityKey, SecurityAlgorithms.RsaSha256);
_logger.LogInformation("InitializeRsaKey() successfully executed.");
}
catch (Exception ex)
{
var exception = new Exception("Identity Server RSA Key initialization failed. " + ex);
_logger.LogError(exception, "InitializeRsaKey() method failed.");
throw exception;
}
Для CspKeyContainerInfo требуется Windows Cryptographic API (CAPI), который недоступен на этой платформе. ошибка.
Кроме того, мой проект выполняется на компьютере CentOS, в то время как я разрабатываю свой проект на Windows 10. Итак, я знаю, что чего-то существующего в Windows не хватает в Linux. Для решения проблемы приветствуется любая помощь и предложение.