1

好的,我有一个用 Base64 编码的文本字符串。

我想将它从 Base64 解码为字节数组,然后用我的私钥解密。我的私钥是一个 *.pem 文件。我搞不清楚了!

我想我需要声明一个字节数组,获取我的 *.pem 的 ---BEGIN--- 和 ---END--- 部分之间的文本,并将其从 base 64 字符串转换为我的结果字节数组。

然后我需要声明一个 X509Certificate2,并使用接受字节数组和文本字符串的构造函数,字节数组是我的私钥,文本字符串是我的密码,如下所示:

byte[] myprivateKey = Convert.FromBase64String("BASE 64 ENCODED PRIVATE KEY GOES HERE");
X509Certificate2 myPem = new X509Certificate2(myprivateKey, "MY PASSPHRASE");

但是,此时我收到以下错误:

找不到请求的对象。

我是否至少朝着正确的方向前进,或者我是否已经偏离了方向?我需要在这里做什么?

4

1 回答 1

1

X509Certificate2不会从PEM base64 编码文件中读取私钥。您需要从证书中读取私钥,然后将其分配给PrivateKey属性。

看看如何从 PEM 文件中获取私钥?更多细节。

于 2011-12-23T13:59:57.633 回答