【发布时间】:2012-07-05 23:13:48
【问题描述】:
我正在尝试使用 C# 读取仅包含 RSA 公钥的 .pem 文件。我无权访问私钥信息,我的应用程序也不需要它。文件myprivatekey.pem文件以
-----BEGIN PUBLIC KEY-----
并以
-----END PUBLIC KEY-----.
我目前的代码如下:
Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair keyPair;
using (var reader = File.OpenText(@"c:\keys\myprivatekey.pem"))
keyPair = (Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair)new Org.BouncyCastle.OpenSsl.PemReader(reader).ReadObject();
但是代码会抛出带有消息的InvalidCastException
无法转换类型的对象 'Org.BouncyCastle.Crypto.Parameters.DsaPublicKeyParameters' 输入 'Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair'。
当没有可用的私钥信息时,如何使用 Bouncy Castle 的 PemReader 仅读取公钥?
【问题讨论】:
-
单个公钥不是密钥对。密钥对是一个公钥和一个私钥。
标签: c# bouncycastle public-key pem