使用BouncyCastle解密时的'Uknown block type`

时间:2018-02-26 12:42:04

标签: c# rsa bouncycastle

我使用私钥使用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文档,无法真正理解我做错了什么。

0 个答案:

没有答案