我正在尝试对我的混合加密和解密进行单元测试,但出现"此平台不支持操作"的错误。
我将声明为字符串称为私有,结果它获得了私钥。然后,此方法调用方法 2,该方法应该使用私钥对文件进行数字签名。
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 Core,它没有FromXmlString。但是,您可以尝试将其用作扩展方法:
https://gist.github.com/Jargon64/5b172c452827e15b21882f1d76a94be4/
在.net core 3.0中,它可用。更新到 .net 核心 3 或使用扩展方法。希望对您有所帮助。
如果你在.netcor2上工作,它不支持.在.net Core 3之后它支持。