从PEM文件

时间:2018-11-09 23:29:02

标签: c# rsa

我有以下方法,可以读取XML格式的私钥。

private RSAParameters GetPrivateKey(string privateKeyPath)
{
    RSAParameters privateKey;

    string readContents;
    using (StreamReader streamReader = new StreamReader(privateKeyPath, Encoding.UTF8))
    {
        readContents = streamReader.ReadToEnd();
    }

    using (var rsa = new RSACryptoServiceProvider(2048))
    {
        rsa.FromXmlString(readContents);
        privateKey = rsa.ExportParameters(true);
    }

    return privateKey;
}

我想将该方法更改为PEM格式的私钥。

我的私钥如下:

-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAuc7/6TDyberFapcC2XfXKXzF2W8IxfgVXigduvE6B0IQBfxD
J1WcWrNriERUsMpKw/2zphxIXHLrsMZ0l5FcxuZBEqtjSskMqOaMKitMfuZBrcaX
e/0W9HUgPEUBNEv35UHtZbInk7K72KEYaTkoxmI8pP/g82lWnGPw1HgjtFWbL9Vx
--8<-----------8<------------8<-----------8<-----------8<-------
SQBBCQKBgQCaOvc8cmtR8vm8HWKJ93qA0OFmUNcW5Rd32q5Zy2FSFfhODnajP7fE
kqOL1+QS4uxd5e35PCkhYVZkAigKt+I+Mx+M14HLyx6gdeU1fXJGh/LltyWM9cra
Rb059rp8d/1c128t7WdCctAcV09PDVbV8T7xVtr7agBLM47LbgL1QQ==
-----END RSA PRIVATE KEY-----

我认为在RSCryptoServiceProvider类文档中可以很容易找到它:

https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.rsacryptoserviceprovider?redirectedfrom=MSDN&view=netframework-4.7.2

但不是。

FromXmlString方法记录为“从XML初始化RSA对象”,我希望看到与“从PEM初始化RSA对象”类似的方法。

[编辑]

我尝试使用此解决方案:

https://stackoverflow.com/a/32243171/192044

但是它给出了这个错误:

enter image description here

0 个答案:

没有答案