在 .NET Framework 4.8.1 中,确实没有 RSACryptoServiceProvider 的 ImportSubjectPublicKeyInfo 方法。但是,您可以使用 BouncyCastle 库来导入公钥。

首先,您需要在项目中安装 BouncyCastle 库。您可以通过 NuGet 包管理器控制台运行以下命令来安装 BouncyCastle:

Install-Package BouncyCastle

然后,您可以使用以下代码来导入公钥:

using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.Security;

// 将公钥字节数组转换为 AsymmetricKeyParameter 对象
AsymmetricKeyParameter publicKeyParam;
using (var stream = new System.IO.MemoryStream(publicKeyBytes))
{
    var reader = new Org.BouncyCastle.OpenSsl.PemReader(new System.IO.StreamReader(stream));
    publicKeyParam = (AsymmetricKeyParameter)reader.ReadObject();
}

// 将 AsymmetricKeyParameter 对象转换为 RSACryptoServiceProvider 对象
var rsa = DotNetUtilities.ToRSA(publicKeyParam);

这样,您就可以在 .NET Framework 4.8.1 中成功导入公钥了。

在 .NET Framework 4.8.1 中使用 BouncyCastle 导入公钥

原文地址: https://www.cveoy.top/t/topic/p3ak 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录