Estoy tratando de usar C# para leer en un archivo .pem
que contiene solo una clave pública de RSA. No tengo acceso a la información de la clave privada, ni mi aplicación lo requiere. El archivo archivo myprivatekey.pem
comienza conLectura de PEM Clave pública de RSA Solo usando Bouncy Castle
-----BEGIN PUBLIC KEY-----
y termina con -----END PUBLIC KEY-----
.
Mi código actual es la siguiente:
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();
Sin embargo, el código se emite una InvalidCastException
con el mensaje
No se puede convertir objeto de tipo 'Org.BouncyCastle.Crypto.Parameters.DsaPublicKeyParameters 'para escribir ' Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair '.
¿Cómo puedo usar Bouncy Castle's PemReader
para leer solo una clave pública, cuando no hay información de clave privada disponible?
Una sola clave pública no es un par de claves. Un par de claves es una clave pública * y * una clave privada. –