C# RSA.FromXmlString';此平台不支持操作;
我正在尝试对我的混合加密和解密进行单元测试,但出现了一个错误“此平台不支持操作” 我将声明的字符串称为private,结果它得到了私钥。然后该方法调用方法2,该方法应该使用私钥对文件进行数字签名C# RSA.FromXmlString';此平台不支持操作;,c#,asp.net,C#,Asp.net,我正在尝试对我的混合加密和解密进行单元测试,但出现了一个错误“此平台不支持操作” 我将声明的字符串称为private,结果它得到了私钥。然后该方法调用方法2,该方法应该使用私钥对文件进行数字签名 byte[] sign = new Encryp().DigitalSign(privatekey, memFile); 方法2: public byte[] DigitalSign(string privateKey, MemoryStream data) {
byte[] sign = new Encryp().DigitalSign(privatekey, memFile);
方法2:
public byte[] DigitalSign(string privateKey, MemoryStream data)
{
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
RSA.FromXmlString(privateKey); //Line which triggers the error
byte[] hash = Hash(dataToBeSigned.ToArray());
byte[] signture = RSA.SignHash(hash, "SHA512");
return signture;
}
假设它的.Net内核没有FromXmlString。但是,您可以尝试将其用作扩展方法:
在.NETCore3.0中,它是可用的。更新到.net core 3或使用扩展方法。希望对您有所帮助。如果您使用的是.netcor2,它不支持.net core 3。在.net core 3之后,它将提供支持。哪个版本的.netcore@Gauravsa2.1.8预览工作,我已经更新了答案。如果我将.Net Core更新为3.0,.FromXmlString是否有效?嗯,我将所有项目都放在.Net Core 2.1.8中,如果我将其更新为3.0,会影响整个项目吗?好的,然后您可以使用链接中提供的扩展方法。如果有效,请将其标记为答案。谢谢你,祝你新年快乐