我使用私钥使用RSA加密字符串,我必须使用公钥对其进行解密。我得到的例外是uknown block type
我的密钥是pem
格式为
-----BEGIN PUBLIC KEY-----
< weird string which is the key>
-----END PUBLIC KEY-----
我的代码是
string pubKey = File.ReadAllText(_filePath + @"\keys\key.pub");
try
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
var resBytes = Convert.FromBase64String(strEnc);
var decEngine = new Pkcs1Encoding(new RsaEngine());
using (var txtreader = new StringReader(pubKey))
{
var keyParameter = (AsymmetricKeyParameter)new PemReader(txtreader).ReadObject();
decEngine.Init(false, keyParameter);
}
var decrypted = Encoding.UTF8.GetString(decEngine.ProcessBlock(resBytes, 0, resBytes.Length));
return decrypted;
}
catch (Exception ex)
{
throw ex;
}
_filePath
是项目目录。
我找不到BouncyCastle
文档,无法真正理解我做错了什么。