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?