Я пытаюсь использовать 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'.
. Как я могу использовать PemReader
Bouncy Castle для чтения только открытого ключа, когда информация о закрытом ключе недоступна?