我有一个以Base64编码的RSA公钥。 解码后,我可以获得RSA公钥,如下:
-----BEGIN PUBLIC KEY----- XXXXXXXXXXXXXXXXXXXXXXX -----END PUBLIC KEY-----
现在我需要将此密钥导入RSACryptoServiceProvider。 我一直在寻找解决方案,但却找不到任何有效的方法。 根据我找到的片段,我创建了以下示例代码:
public static string Encrypt(string input, string base64PublicKey)
{
var rsa = new RSACryptoServiceProvider();
var byteKey = System.Convert.FromBase64String(base64PublicKey);
var byteInput = Encoding.UTF8.GetBytes(input);
var parameters = rsa.ExportParameters(false);
parameters.Modulus = byteKey;
rsa.ImportParameters(parameters);
var bytesEncrypted = rsa.Encrypt(byteInput, false);
var result = System.Convert.ToBase64String(bytesEncrypted);
return result;
}
我想它没有正常工作,因为我总是从我正在集成的系统中得到错误响应。
导入公钥的方式正确吗? 如果不正确,我该怎么做?