gpt4 book ai didi

asp.net-core - “CspKeyContainerInfo”需要 Windows Cryptographic API (CAPI),此平台上不可用

转载 作者:行者123 更新时间:2023-12-04 10:51:14 24 4
gpt4 key购买 nike

我已将我的项目从 v2.1 升级到 asp.net core v2.2,一切都用于正常工作。在下面显示的代码中,我正在尝试使用 IdentityServer4(v2.3.2) 初始化 RSA key 尝试获取 token 时出现以下错误。

        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' requires Windows Cryptographic API (CAPI), which is not available on this platform. error.



此外,我的项目在 CentOS 机器上运行,同时我在 Windows 10 上开发我的项目。所以,我知道 Windows 中存在的某些东西在 Linux 上丢失了。为了解决这个问题,任何帮助和建议表示赞赏。

最佳答案

我挖掘了一些 github 问题,发现 RSACryptoServiceProvider()继承ICspAsymmetricAlgorithm并且此类仅在 Windows 上受支持。详情请查看 here .为了解决这个问题,我更换了 var rsaProvider = new RSACryptoServiceProvider(2048);线与var rsaProvider = RSA.Create(2048);它与 CentOS 上的 .NET Core v2.2 配合良好。希望这可以帮助那些有同样问题的人。

关于asp.net-core - “CspKeyContainerInfo”需要 Windows Cryptographic API (CAPI),此平台上不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54180171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com