Чтение открытого ключа PEM RSA только с использованием Bouncy Castle

Я пытаюсь использовать C #для чтения файла .pem, который содержит только открытый ключ RSA. У меня нет доступа к информации о закрытом ключе, и мое приложение не требует этого. Файл 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с сообщением

Unable to cast object of type 'Org.BouncyCastle.Crypto.Parameters.DsaPublicKeyParameters' to type 'Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair'.

. Как я могу использовать PemReaderBouncy Castle для чтения только открытого ключа, когда информация о закрытом ключе недоступна?

12
задан David B 5 July 2012 в 14:22
поделиться