我正在尝试使用C#读取一个只包含RSA公钥的.pem文件。我无法访问私钥信息,也不需要它。该文件名为myprivatekey.pem,以-----BEGIN PUBLIC KEY-----开头,以-----END PUBLIC KEY-----结尾。
我的当前代码如下:
无法将类型为“Org.BouncyCastle.Crypto.Parameters.DsaPublicKeyParameters”的对象强制转换为类型“Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair”。
当没有私钥信息可用时,我该如何使用Bouncy Castle的PemReader仅读取公钥?
我的当前代码如下:
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仅读取公钥?