【发布时间】:2021-10-19 22:05:24
【问题描述】:
我正在尝试使用.ExportRSAPrivateKey() 从RSACryptoServiceProvider 对象中提取私钥。根据MSDN,它导出一个“包含此密钥的PKCS#1 RSAPrivateKey 表示的字节数组”,该表示在Appendix A of RFC8017 中定义。所以基于此,我假设它应该是 ASN1 编码并尝试使用 AsnReader 类:
using (var rsa = new RSACryptoServiceProvider(1024))
{
var priv = rsa.ExportRSAPrivateKey();
var asnr = new AsnReader(priv, AsnEncodingRules.DER);
var N = asnr.ReadInteger();
}
但是,此代码在 .ReadInteger() 上失败,但异常:"The provided data is tagged with 'Universal' class value '16', but it should have been 'Universal' class value '2'."
我做错了什么?
【问题讨论】:
标签: .net cryptography rsa .net-5 asn.1