我已经将我的项目从2.1版升级到了ASP.NET Core 2.2版,并且所有功能都正常工作。在下面显示的代码中,我尝试用IdentityServer4(2.3.2)初始化的RSA密钥,在尝试获取令牌时,我得到了以下错误。
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机器上运行,同时我在Windows10上开发我的项目。所以,我知道Linux上缺少Windows中的一些东西。为了解决这个问题,我们欢迎任何帮助和建议。