Lendo a chave pública de PEM RSA usando somente o castelo Bouncy

Eu estou tentando usar o C # para ler em um.pem arquivo que contém apenas uma chave pública RSA. Eu não tenho acesso às informações da chave privada, nem meu aplicativo exige isso. O arquivomyprivatekey.pem arquivo começa com

-----BEGIN PUBLIC KEY----- e termina com-----END PUBLIC KEY-----.

Meu código atual é o seguinte:

    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();

No entanto, o código lança umInvalidCastException com a mensagem

Não é possível converter o objeto do tipo 'Org.BouncyCastle.Crypto.Parameters.DsaPublicKeyParameters' para digitar 'Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair'.

Como posso usar o Castelo de Bouncy?PemReader ler apenas uma chave pública, quando nenhuma informação de chave privada está disponível?

questionAnswers(4)

yourAnswerToTheQuestion