Sto cercando di utilizzare C# per leggere in un file .pem
che contiene solo una chiave pubblica RSA. Non ho accesso alle informazioni sulla chiave privata, né la mia applicazione lo richiede. Il file myprivatekey.pem
inizia conLettura della chiave pubblica PEM RSA utilizzando solo il castello gonfiabile
-----BEGIN PUBLIC KEY-----
e termina con -----END PUBLIC KEY-----
.
Il mio codice attuale è la seguente:
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();
Tuttavia il codice genera un InvalidCastException
con il messaggio
Impossibile eseguire il cast oggetto di tipo 'Org.BouncyCastle.Crypto.Parameters.DsaPublicKeyParameters 'per digitare ' Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair '.
Come posso utilizzare Bouncy Castle PemReader
per leggere solo una chiave pubblica, quando non sono disponibili informazioni sulla chiave privata?
Una singola chiave pubblica non è una coppia di chiavi. Una coppia di chiavi è una chiave pubblica * e * una chiave privata. –