Я пытаюсь использовать С# для чтения в файле .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
с сообщением
Невозможно запустить объект типа 'Org.BouncyCastle.Crypto.Parameters.DsaPublicKeyParameters' для ввода типа 'Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair'.
Как я могу использовать Bouncy Castle PemReader
для чтения только открытого ключа, когда информация о закрытом ключе не доступна?